RHEL7系统使用firewalld管理防火墙,查看开启端口的方法是使用firewall-cmd命令,若要查看所有开放的端口及服务,可执行firewall-cmd --list-all;若仅查看端口列表,则使用firewall-cmd --list-ports,默认情况下,命令会检查public区域,也可通过--zone参数指定其他区域。
在 RHEL 7(Red Hat Enterprise Linux 7)系统中,默认使用的是 firewalld 服务来管理防火墙规则,相比于传统的 iptables,firewalld 提供了动态防火墙管理,能够更好地适应不断变化的环境。
如果你需要查看当前防火墙开启了哪些端口,可以使用 firewall-cmd 命令行工具,以下是几种常用的查看方法:
查看所有详细信息(推荐)
这是最常用的方法,该命令会列出当前生效区域(默认为 public)的所有配置信息,包括服务、端口、协议、源地址等。

命令:
firewall-cmd --list-all
输出示例:
public (active) target: default icmp-block-inversion: no interfaces: eth0 sources: services: ssh dhcpv6-client ports: 80/tcp 443/tcp 8080/tcp protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
解读:
- 在
services行中,列出了已开启的服务(如 ssh, dhcpv6-client)。 - 在
ports行中,清晰地列出了已开启的端口,格式为端口/协议(80/tcp)。
仅查看已开启的端口
如果你只想知道具体开放了哪些端口,而不关心服务或协议,可以使用 --list-ports 参数。
命令:
firewall-cmd --list-ports
输出示例:
80/tcp 443/tcp 8080/tcp
注意:
- 此命令不会显示服务(如 http, https),只显示端口。
- 端口列表之间使用空格分隔,没有冒号。
查看特定区域的端口
虽然默认区域通常是 public,但在某些复杂配置中,你可能需要查看 trusted、home 或其他区域的设置。
命令:
firewall-cmd --zone=public --list-ports
查看所有区域的端口(调试用)
如果你不确定端口配置在哪个区域,可以列出所有区域的配置。
命令:
firewall-cmd --get-active-zones
然后针对每个区域使用 --list-ports。
常用操作补充
在查看端口的同时,你可能还需要进行添加或删除端口的操作:
- 永久添加端口(不立即生效):
firewall-cmd --permanent --add-port=8888/tcp
- 立即生效(重载防火墙):
firewall-cmd --reload
- 删除端口:
firewall-cmd --permanent --remove-port=8888/tcp firewall-cmd --reload
通过以上方法,你可以轻松掌握 RHEL 7 系统中防火墙开启的端口情况。
文章版权声明:除非注明,否则均为xmsdn原创文章,转载或复制请以超链接形式并注明出处。

