12.2 iptables和firewalld


Iptables

防火墙会按照从上到下的顺序来读取配置的策略规则,在找到匹配项后就立即结束匹配工作并去执行匹配项中定义的行为

在进行路由选择前处理数据包(PREROUTING);

处理流入的数据包(INPUT);

处理流出的数据包(OUTPUT);

处理转发的数据包(FORWARD);

在进行路由选择后处理数据包(POSTROUTING)。

动作:ACCEPT(允许流量通过)、REJECT(拒绝流量通过)、LOG(记录日志信息)、DROP(拒绝流量通过)

命令:

iptables -L  查看规则链

iptables -F  清空规则链

iptables -P INPUT DROP  把规则链的默认策略设置为拒绝

iptables -I INPUT -p icmp -j ACCEPT

-I   在规则链的头部加入新规则

-p  匹配协议,如TCP、UDP、ICMP

-j   指定动作

iptables -I INPUT -s 192.168.22.0/24 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j REJECT

iptables -s 匹配来源地址,!表示反选

iptanles -A 在规则链末尾加入新规则

--dport   匹配目标端口号

--sport   匹配来源端口号

如果是连续的端口号,用:间隔

 iptables -D INPUT 2  

 iptables -D 删除某一条规则

 iptables-save  保存

 
Firewalld

Firewalld支持动态更新技术并加入了区域(zone)的概念,区域就是firewalld预先准备了几套防火墙策略集合(策略模板),用户可以根据生产场景的不同而选择合适的策略集合,从而实现防火墙策略之间的快速切换,默认为public。

firewall-cmd是firewalld防火墙配置管理工具的CLI(命令行界面)版本

firewall-cmd --permanent   永久(Permanent)模式,但当前不生效,重启后生效

firewall-cmd --reload          使配置立即生效

firewall-cmd --get-default-zone             查看默认区域

firewall-cmd --set-default-zone=work    设置默认区域

firewall-cmd --zone=public --query-service=https    查询服务是否放行

firewall-cmd --permanent --zone=public --add-service=https   允许放行https

firewall-cmd --permanent --zone=public --add-port=8081-8888/tcp   永久放行端口

firewall-cmd --list-all  显示当前区域的网卡配置参数、资源、端口以及服务等信息

firewall-cmd --permanent --zone=public --remove-port=8081-8888/tcp    删除添加的端口规则

firewall-cmd --permanent --zone=public --remove-service=https              删除添加的服务规则