firewalld简介

自从『 CentOS 』升级到7之后,「 iptables 」不在是开箱即用了,改成了「 firewall-cmd 」。因此又重新研究了下「 firewall-cmd 」的用法。通过参考rh官网学习「 firewall-cmd 」的用法。
借用官网的图RHEL_Security-Guide_453350_0717_ECE_firewalld-comparison-rhel7.png
从图中可以看到,「 firewall-cmd 」并不是替代了「 iptables 」,而是在「 iptables 」上层做了个封装,让用户更方便的管理「 iptables 」规则。

1、启动和停止

启动

[root@cn01~]#systemctl start firewalld
[root@cn01~]#systemctl status firewalld.service

firewalld1.gif
「 firewalld 」启用之后是需要随机启动的,可以使用如下命令确认是否开机启动

[root@cn01~]#systemctl is-enabled firewalld.service

firewalld2.gif

停止
如果需要停止「 firewalld 」则使用

[root@cn01~]#systemctl stop firewalld.service

2、加载

更改配置之后需要进行加载,有两个参数

--reload
--complete-reload

两个参数的效果是不一样的,「 --reload 」是重新加载,但是不会对现有的链接造成影响,而「 --complete-reload 」则是会中断现有的链接直到「 firewalld 」重新启动成功。
可以使用『 man page 』查看详细介绍:
firewalld4.gif

3、zones

「 firewalld 」预定义了9个「 zones 」。
查看预定义的「 zones 」文件的信息,「 zones 」文件采用的是 xml 格式文件。「 zones 」预定义的文件在/usr/lib/firewalld/zones文件夹中,默认活动区域是「public」。当对区域进行更改之后,会在/etc/firewalld/zones目录生成相应的「zones」文件,默认情况此目录下只有两个文件「public.xml」、「public.xml.old」
可以通过如下命令对「 zones 」进行操作:

firewall-cmd --get-active-zones 
firewall-cmd --get-default-zone 
firewall-cmd --set-default-zone=zone_name
firewall-cmd --list-all-zones  |more

firewalld5.gif

参考链接:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/security_guide/sec-using_firewalls#sec-Introduction_to_firewalld

文章目录