firewall-cmd命令的功能是用于防火墙策略管理,是firewalld服务的配置工具。使用firewall-cmd命令修改的防火墙策略会立即生效,但重启后失效,因此推荐要加上permanent参数呦!~

关于firewalld服务及firewall-cmd命令详细使用方法,请参阅《Linux就该这么学》第8章节内容。

语法格式:firewall-cmd [参数] [对象]

常用参数

--add-interface将指定网卡的所有流量都导向某区域
--add-port设置允许的端口
--add-service设置允许的服务
--add-source将指定IP地址的所有流量都导向某区域
--change-interface设置网卡与区域进行关联
--get-active-zones显示当前正在使用的区域与网卡名称
--get-default-zone显示默认的区域名称
--get-services显示预先定义的服务
--get-zones显示可用的区域列表
--list-all显示当前区域的网卡配置参数、资源、端口及服务
--list-all-zones显示区域信息情况
--list-ports显示所有正在运行的端口
--panic-off关闭紧急模式
--panic-on开启紧急模式
--permanent将策略写入到永久生效表中
--query-panic显示是否被拒绝
--reload立即加载永久生效策略,不重启服务
--remove-port设置默认区域不再允许指定端口的流量
--remove-source不要将指定IP地址的所有流量导向某区域
--remove-service设置默认区域不再允许指定服务的流量
--set-default-zone设置默认的区域
--state显示当前服务运行状态

参考示例

查看当前防火墙状态:

[root@linux-arae-cc ~]# firewall-cmd --state
running

查看防火墙当前放行端口号列表:

[root@linux-arae-cc ~]# firewall-cmd --zone=public --list-ports

重新加载防火墙策略,立即生效:

[root@linux-arae-cc ~]# firewall-cmd --reload
success

查看当前防火墙默认使用区域名称:

[root@linux-arae-cc ~]# firewall-cmd --get-default-zone 
public