相较于传统的防火墙管理配置工具,firewalld支持动态更新技术并加入了区域(zone)的概念。简单来说,区域就是firewalld预先准备了几套防火墙策略集合(策略模板),用户可以根据生产场景的不同而选择合适的策略集合,从而实现防火墙策略之间的快速切换。
区域 默认规则策略
firewalld服务程序两种管理方式
命令行界面:firewall-cmd
图形化界面:firewall-config
firewalld策略两种生效模式
- Runtime:当前生效模式,但重启后失效。
- Permanent:重启后永久有效,但不能立即生效,配置策略时加上--permanment就可以了。
例如
[[email protected] ~]# firewall-cmd --zone=public --add-service=https #当前有效,重启无效 success [[email protected] ~]# firewall-cmd --permanent --zone=public --add-service=https #当前无效,重启后永久有效 success [[email protected] ~]# firewall-cmd --reload #是permanent立即生效 succes
firewall-cmd --get-default-zone #查看firewalld服务当前所使用的区域 firewall-cmd --get-zone-of-interface=eno16777728 #查询eno16777728网卡在firewalld服务中的区域 firewall-cmd --zone=external --change interface=eno16777728 #修改网卡默认区域为external
[[email protected] ~]# firewall-cmd --zone=public --query-service=https #查询 no [[email protected] ~]# firewall-cmd --zone=public --add-service=https #设置区域public 允许https服务的流量 success [[email protected] ~]# firewall-cmd --zone=public --query-service=https #查询 yes [[email protected] ~]# firewall-cmd --zone=public --remove-service=https #设置区域public 不再允许https服务的流量 success [[email protected] ~]# firewall-cmd --zone=public --query-service=https #查询 no
[[email protected] ~]# firewall-cmd --zone=public --query-port=80/tcp #查询 no [[email protected] ~]# firewall-cmd --zone=public --add-port=80/tcp #设置public区域 允许80端口的流量 success [[email protected] ~]# firewall-cmd --zone=public --query-port=80/tcp #查询 yes [[email protected] ~]# firewall-cmd --zone=public --remove-port=80/tcp #设置public区域 不再允许80端口的流量 success [[email protected] ~]# firewall-cmd --zone=public --query-port=80/tcp #查询 no
把原本访问本机888端口的流量转发到22端口,要且求当前和长期均有效:
[[email protected] ~]# firewall-cmd --permanent --zone=public --add-forward-port=port=888:proto=tcp:toport=22:toaddr=192.168.10.10 success [[email protected] ~]# firewall-cmd --reload success
使其拒绝192.168.10.0/24网段的所有用户访问本机的ssh服务(22端口):
[[email protected] ~]# firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.10.0/24" service name="ssh" reject" success [[email protected] ~]# firewall-cmd --reload success
firewall-config
1:选择运行时(Runtime)模式或永久(Permanent)模式的配置。
2:可选的策略集合区域列表。
3:常用的系统服务列表。
4:当前正在使用的区域。
5:管理当前被选中区域中的服务。
6:管理当前被选中区域中的端口。
7:开启或关闭SNAT(源地址转换协议)技术。
8:设置端口转发策略。
9:控制请求icmp服务的流量。
10:管理防火墙的富规则。
11:管理网卡设备。
12:被选中区域的服务,若勾选了相应服务前面的复选框,则表示允许与之相关的流量。
13:firewall-config工具的运行状态。
PS:如果想要配置的防火墙策略永久且立即生效,请在配置图形界面前勾选 1 永久(Permanent)模式 ,然后进行配置,配置好之后,选择Options --> Reload Firewalld (相当于命令 firewall-cmd --reload)