在CentOS系统中,端口管理是确保服务器安全与功能正常运行的关键环节,虽然CentOS默认使用firewalld作为防火墙管理工具,但许多用户习惯于使用Uncomplicated Firewall(UFW)的简化操作,本文将详细介绍在CentOS系统中如何结合UFW查看端口状态,包括基础概念、操作步骤及注意事项,帮助用户高效管理端口。

了解CentOS的防火墙架构
CentOS 7及以上版本默认采用firewalld作为动态防火墙管理器,它支持区域(Zone)和服务的动态管理,而UFW(Uncomplicated Firewall)是Ubuntu等系统流行的防火墙工具,其设计初衷是简化iptables的复杂操作,在CentOS中直接使用UFW需要额外安装,且需注意与firewalld的兼容性,用户若希望使用UFW,需先停止并禁用firewalld,再安装UFW依赖工具,如ufw和iptables。
安装与配置UFW
在CentOS中使用UFW前,需确保系统环境满足要求,通过以下命令停止并禁用firewalld:
sudo systemctl stop firewalld sudo systemctl disable firewalld
安装EPEL(Extra Packages for Enterprise Linux)仓库,然后安装UFW:
sudo yum install epel-release -y sudo yum install ufw -y
安装完成后,启用UFW并设置默认规则:
sudo ufw enable sudo ufw default deny incoming sudo ufw default allow outgoing
这些步骤确保UFW接管防火墙控制,并为后续端口管理奠定基础。
查看端口状态的基础命令
UFW提供了简洁的命令来查看端口状态,主要使用sudo ufw status命令,该命令会显示当前防火墙的规则,包括允许或拒绝的端口、协议类型及来源IP。
sudo ufw status
输出结果可能如下:

Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
80/tcp ALLOW Anywhere
443/tcp ALLOW Anywhere 这表明22、80和443端口已开放,允许任何来源的连接。
查看特定端口的规则
若需查看特定端口的详细规则,可结合grep命令过滤输出,查看80端口的规则:
sudo ufw status | grep 80
如果端口未在规则中显示,说明其被默认策略(如拒绝)覆盖,需手动添加规则以开放或限制端口。
查看端口监听状态
UFW仅管理防火墙规则,而端口的实际监听状态需通过其他工具检查,常用的命令包括netstat和ss,查看所有监听的TCP端口:
sudo netstat -tuln
或使用更现代的ss命令:
sudo ss -tuln
这些命令会显示端口是否被进程监听,以及监听的IP地址和协议,结合UFW规则,可全面掌握端口的开放状态与实际运行情况。
添加与删除端口规则
若发现端口未开放但需要访问,可通过ufw allow命令添加规则,开放TCP 8080端口:

sudo ufw allow 8080/tcp
若需限制特定IP访问端口,可指定来源IP:
sudo ufw allow from 192.168.1.100 to any port 22
删除规则时,使用delete参数并指定规则编号或描述。
sudo ufw delete allow 8080/tcp
常见问题与注意事项
- UFW与firewalld冲突:若未禁用firewalld,UFW可能无法正常工作,务必通过
systemctl mask firewalld彻底禁用。 - 规则生效延迟:部分规则可能需要重启网络服务或防火墙才能完全生效,可执行
sudo ufw reload。
FAQs
A:可能未安装UFW或未配置环境变量,请确认已通过yum install ufw安装,并使用sudo执行命令。
Q2:如何查看UFW的详细日志以排查端口问题?
A:可通过sudo ufw logging on启用日志,然后使用journalctl -u ufw查看系统日志,或直接检查/var/log/ufw.log文件。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复