RHEL 7系统中,firewalld防火墙取代了iptables防火墙。其实,iptables与firewalld都不是真正的防火墙,
它们只是一种服务。iptables服务会把配置好的防火墙策略交由内核层面的netfilter网络过滤器来处理,而firewalld服务则是把配置好的防火墙策略交由内核层面的nftables包过滤框架来处理。
防火墙会从上至下的顺序来读取配置的策略规则,在找到匹配项后就立即结束匹配工作并去执行匹配项中定义的行为(即放行或阻止)。如果在读取完所有的策略规则之后没有匹配项,就去执行默认的策略。一般而言,防火墙策略规则的设置有两种:一种是“通”(即放行),一种是“堵”(即阻止)。当防火墙的默认策略为拒绝时(堵),就要设置允许规则(通),否则谁都进不来;如果防火墙的默认策略为允许时,就要设置拒绝规则,否则谁都能进来,防火墙也就失去了防范的作用。
iptables命令可以根据流量的源地址、目的地址、传输协议、服务类型等信息进行匹配,一旦匹配成功,iptables就会根据策略规则所预设的动作来处理这些流量。防火墙策略规则的匹配顺序是从上至下的,一旦遇到符合要求的规则就结束,因此要把较为严格、优先级较高的策略规则放到前面。
参数 | 作用 |
-P | 设置默认策略 |
-F | 清空规则链 |
-L | 查看规则链 |
-A | 在规则链的末尾加入新规则 |
-I num | 在规则链的头部加入新规则 |
-D num | 删除某一条规则 |
-s | 匹配来源地址IP/MASK,加叹号“!”表示除这个IP外 |
-d | 匹配目标地址 |
-i 网卡名称 | 匹配从这块网卡流入的数据 |
-o 网卡名称 | 匹配从这块网卡流出的数据 |
-p | 匹配协议,如TCP、UDP、ICMP |
--dport num | 匹配目标端口号 |
--sport num | 匹配来源端口号 |
1、安装iptables-services,7.6版本安装完才可使用service iptables save:
yum install iptables-services
2、查看iptables默认表:
iptables -L -n
3、iptables 默认内链(filter)表三种:
ptables服务把用于处理或过滤流量的策略条目称之为规则,多条规则可以组成一个规则链,而规则链则依据数据包处理位置的不同进行分类:
INPUT:处理进入防火墙的数据包
FORWARD:源自其他计算机,不接受到防火墙,而是转发(路由)
OUTPUT:处理防火墙发出的数据包
4.添加规则,拒绝icmp协议数据包
iptables -A INPUT -p icmp -j DROP //-A [策略] -p [协议] -j [动作](DROP丢弃、ACCEPT允许、REJECT拒绝)
iptables -D INPUT 3 // 从上往下数,删除INPUT策略的第5行
5.对某个IP进行禁用规则
iptables -A INPUT -s 192.168.72.30 -p tcp --dport 22 -j DROP //对来源为192.168.72.30,通过22端口进入的阻止
6.设置默认规则,过滤所有数据包,直接DROP
iptables -t filter -P INPUT DROP
7.设置完保存规则
service iptables save //默认规则配置文件在/etc/sysconfig/iptables
8、重启iptables
service iptables stop /start