首页 > 编程笔记 > Linux命令 阅读:27

Linux firewall-cmd命令的用法(附带实例)

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

firewall-cmd 命令的语法格式如下:
firewall-cmd 参数 对象
常用参数见下表:

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

【实例 1】查看当前防火墙状态:
[root@clinux ~]# firewall-cmd --state
running

【实例 2】查看防火墙当前放行端口号列表:
[root@clinux ~]# firewall-cmd --zone=public --list-ports

【实例 3】重新加载防火墙策略,立即生效:
[root@clinux ~]# firewall-cmd --reload
success

【实例 4】查看当前防火墙默认使用的区域名称:
[root@clinux ~]# firewall-cmd --get-default-zone
public

【实例 5】设置当前防火墙默认使用的区域名称:
[root@clinux ~]# firewall-cmd --set-default-zone=dmz
success

【实例 6】开启紧急模式,随后关闭:
[root@clinux ~]# firewall-cmd --panic-on
success
[root@clinux ~]# firewall-cmd --panic-off
success

【实例 7】设置 8080-8081 为防火墙允许放行的端口号:
[root@clinux ~]# firewall-cmd --zone=public --add-port=8080-8081/tcp

【实例 8】查看防火墙当前放行端口号列表:
[root@clinux ~]# firewall-cmd --zone=public --list-ports
8080-8081/tcp

【实例 9】查询指定服务的流量是否被防火墙允许放行:
[root@clinux ~]# firewall-cmd --zone=public --query-service=ssh
yes
[root@clinux ~]# firewall-cmd --zone=public --query-service=https
no

相关文章