命令行管理防火墙
可以通过以下三种方式来管理firewalld:
- 使用命令行工具firewall-cmd
- 使用图形工具firewall-config
- 使用/etc/firewalld/中的配置文件
firewalld基本命令
命令行工具firewall-cmd支持全部防火墙特性,基本应用如下:
1、 获取firewalld状态
irewall-cmd --state
2、在不改变状态的条件下重新加载防火墙:
[root@sunday-test ~]# firewall-cmd --reload
如果你使用–complete-reload,状态信息将会丢失。
3、获取支持的区域列表
[root@sunday-test ~]# firewall-cmd --get-zones
这条命令输出用空格分隔的列表
4、获取所有支持的服务
[root@sunday-test ~]# firewall-cmd --get-services
这条命令输出用空格分隔的列表。 服务是firewalld所使用的有关端口和选项的规则集合。被启动的服务会在firewalld服务开启或者运行时自动加载。默认情况下,很多服务是有效的。使用下面命令可列出有效的服务。
5、获取所有支持的ICMP类型
[root@sunday-test services]# firewall-cmd --get-icmptypes
这条命令输出用空格分隔的列表。
6、列出全部启用的区域的特性(即查询当前防火墙策略)
[root@sunday-test services]# firewall-cmd --list-all-zones
解释:特性可以是定义的防火墙策略,如:服务、端口和协议的组合、端口/数据报转发、伪装、ICMP 拦截或自定义规则等 上面的命令将会列出每种区域如block、dmz、drop、external、home、internal、public、trusted以及work。如果区域还有其它详细规则(rich-rules)、启用的服务或者端口,这些区域信息也会分别被罗列出来
7、输出区域全部启用的特性。如果省略区域,将显示默认区域的信息。
firewall-cmd [--zone=] --list-all
输出指定区域启动的特性
[root@sunday-test services]# firewall-cmd --list-all --zone=public
8、查看默认区域
[root@sunday-test services]# firewall-cmd --get-default-zone
public区域是默认区域。 在文件/etc/firewalld/firewalld.conf中定义成DefaultZone=public。
9、设置默认区域
firewall-cmd --set-default-zone=区域名
流入默认区域中配置的接口的新访问请求将被置入新的默认区域。当前活动的连接将不受影 响。
10、获取活动的区域
[root@sunday-test ~]# firewall-cmd --get-active-zones
这条命令将用以下格式输出每个区域所含接口: 区域名interfaces : 接口名
11、根据接口获取区域即需要查看哪个区域和这个接口绑定即查看某个接口是属于哪个zone的:
firewall-cmd --get-zone-of-interface=接口名
这条命令将输出接口所属的区域名称。
12、将接口(网卡)增加到区域
firewall-cmd [--zone=] --add-interface=接口名
如果接口不属于区域,接口将被增加到区域。如果区域被省略了,将使用默认区域。接口在 重新加载后将重新应用。
13、修改接口所属区域
firewall-cmd [--zone=] --change-interface=接口名
这个选项与 --add-interface 选项相似,但是当接口已经存在于另一个区域的时候,该接口 将被添加到新的区域。
14、从区域中删除一个接口
firewall-cmd [--zone=] --remove-interface=接口名
注:如果某个接口不属于任何Zone,那么这个接口的所有数据包使用默认的Zone的规则
15、查询接口是否属于一个区域
firewall-cmd [--zone=] --query-interface=接口名
如果区域被省略了,将使用默认区域
16、列举区域中启用的服务
firewall-cmd [ --zone= ] --list-services
如果区域被省略了,将使用默认区域 查看home区域中启用服务
[root@sunday-test ~]# firewall-cmd --list-services --zone=home
17、启用应急模式阻断所有网络连接,以防出现紧急状况
[root@sunday-test ~]# firewall-cmd --panic-on
18、禁用应急模式
firewall-cmd --panic-off
19、查询应急模式
firewall-cmd --query-panic