在CentOS系统中,查看防火墙开放的端口可以通过以下几种方法:
firewall-cmd
命令firewall-cmd
是 CentOS 7 及以上版本中 firewalld 服务的管理工具。你可以使用以下命令查看当前开放的端口:
sudo firewall-cmd --list-all
这个命令会显示所有区域(默认是 public 区域)的详细信息,包括开放的服务和端口。
如果你只想查看开放的端口,可以使用:
sudo firewall-cmd --zone=public --list-ports
/etc/firewalld/zones/public.xml
文件你也可以直接查看 firewalld 的配置文件来获取开放的端口信息。编辑或查看 /etc/firewalld/zones/public.xml
文件:
sudo cat /etc/firewalld/zones/public.xml
在这个文件中,你会看到 <port protocol="tcp" port="XXXX"/>
这样的条目,表示开放的端口。
ss
或 netstat
命令虽然这些命令不直接显示防火墙规则,但它们可以显示当前系统上实际监听的端口,这有助于确认哪些服务正在运行并且可能已经通过防火墙开放:
sudo ss -tuln
或者
sudo netstat -tuln
如果你发现某些端口没有按预期开放,可能是以下原因之一:
firewall-cmd --add-port=端口号/协议
添加需要的端口规则,并记得使用 --permanent
参数使更改永久生效,然后重新加载防火墙配置 firewall-cmd --reload
。/var/log/audit/audit.log
查看是否有相关拒绝记录,并适当调整 SELinux 策略。通过以上方法,你应该能够有效地查看和管理 CentOS 系统中的防火墙开放端口。
领取专属 10元无门槛券
手把手带您无忧上云