Skip to content

防火墙设置

简介

防火墙是整个数据包进入主机前的第一道关卡。是一种位于内部网络与外部网络之间的网络安全系统,是一项信息安全的防护系统,依照特定的规则,允许或是限制传输的数据通过。防火墙主要通过Netfilter与TCPwrappers两个机制来管理的.

管理防火墙的两种方式 :

(1)firewalld 管理火墙的工具,相对简单

(2)iptables 复杂,功能强大

Linux中有两种防火墙软件,ConterOS7.0以上使用的是firewall,ConterOS7.0以下使用的是iptables,本文将分别介绍两种防火墙软件的使用。

firewalld

  1. 查看firewall服务状态
shell
systemctl status firewalld
#出现Active: active (running)切高亮显示则表示是启动状态。
#出现 Active: inactive (dead)灰色表示停止,看单词也行。

img

  1. 查看firewall的状态
shell
firewall-cmd --state
  1. 开启、重启、关闭、firewalld.service服务
shell
# 开启
service firewalld start
# 重启
service firewalld restart
# 关闭
service firewalld stop
  1. 查看防火墙规则
shell
firewall-cmd --list-all
  1. 查询、开放、关闭端口
text
# 查询端口是否开放
firewall-cmd --query-port=8080/tcp
# 开放80端口
firewall-cmd --permanent --add-port=80/tcp
# 移除端口
firewall-cmd --permanent --remove-port=8080/tcp
#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload

Iptables

  1. 安装

由于CenterOS7.0以上版本并没有预装Iptables,我们需要自行装。

安装前先关闭firewall防火墙

shell
systemctl stop firewalld
  1. 安装iptables:
shell
yum install iptables
  1. 安装iptables-services:
shell
yum install iptables-services
  1. 开启防火墙:
shell
systemctl start iptables.service
  1. 关闭防火墙:
shell
systemctl stop iptables.service
  1. 查看防火墙状态:
shell
systemctl status iptables.service

7. 设置开机启动:

shell
systemctl enable iptables.service
  1. 禁用开机启动:
shell
systemctl disable iptables.service
  1. 查看filter表的几条链规则(INPUT链可以看出开放了哪些端口):
shell
iptables -L -n

  1. 查看NAT表的链规则:
shell
iptables -t nat -L -n

  1. 清除防火墙所有规则:
shell
iptables -F

iptables -X

iptables -Z
  1. 给INPUT链添加规则(开放8080端口):
shell
iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

  1. 查找规则所在行号:
shell
iptables -L INPUT --line-numbers -n

  1. 根据行号删除过滤规则(关闭8080端口):
shell
iptables -D INPUT 1

Released under the MIT License.