运行 firewall-cmd --list-all 可一次性查看默认区域(如 public)的全部运行时规则,包括 active 状态、开放端口(如 80/tcp)、启用服务(如 ssh)、绑定接口(如 eth0)、源 IP 段及 masquerade 等高级设置;查其他 zone 需加 --zone=xxx,查永久配置需加 --permanent。

直接运行 firewall-cmd --list-all 就能一次性看到当前默认区域(通常是 public)的全部开放规则,包括端口、服务、接口绑定、ICMP 设置等关键信息。
查看当前默认区域的完整规则
这条命令输出清晰直观,包含以下几类内容:
- 该 zone 是否处于 active 状态
- 所有已开放的端口(例如
80/tcp、22/udp) - 已启用的服务(例如
ssh、http、dhcpv6-client) - 绑定的网络接口(如
eth0)和允许的源 IP 段 - 高级设置:是否启用
masquerade、forward、icmp-block-inversion等
查看指定区域或永久配置
若需查其他 zone(如 internal 或 dmz),加 --zone=xxx 参数:
firewall-cmd --zone=internal --list-allfirewall-cmd --zone=dmz --list-all
注意:只有该 zone 已激活(绑定了接口或源地址)或被设为默认 zone,才能查到有效配置。
默认查的是运行时(runtime)规则。要查看重启后仍生效的永久配置,加上 --permanent:
-
firewall-cmd --permanent --list-all(永久默认 zone) -
firewall-cmd --permanent --zone=public --list-all(永久 public zone)
刚添加但没加 --permanent 的规则,在永久配置里不会出现。
确认活跃 zone 和默认 zone
如果不确定规则应用在哪个 zone 上,先查基础状态:
-
firewall-cmd --get-active-zones:列出当前正在使用的 zone 及其绑定的接口 -
firewall-cmd --get-default-zone:显示默认 zone 名称(多数是public)
再结合 --list-all 命令,就能精准定位每条规则归属的 zone 和生效模式。


















