对于很多刚接触Linux服务器的朋友来说,配置防火墙开放端口是个绕不开的坎。我这些年帮人维护服务器,见过太多因为端口没开导致服务跑不起来的情况。CentOS系统里防火墙主要用的是firewalld,它比老旧的iptables更直观linux版qq,但很多人还是觉得无从下手。说白了,开放端口就是给服务器开个门,让外部能访问你的服务,比如网站、数据库或者远程连接。

开放端口前要检查什么

centos防火墙开放端口_centos防火墙开放端口_防火墙端口开放协议

先看看防火墙是不是在运行。很多新手上来就敲命令,结果发现防火墙根本没启动,端口自然也没被阻拦。用systemctl status firewalld就能看到状态,如果显示inactive,得先启动它,命令systemctl start firewalld。要是想一劳永逸,记得设置开机自启,systemctl enable firewalld

还有个细节容易被忽略,就是查看当前已经开放的端口。用firewall-cmd --list-ports能列出所有开放的端口号,但这只显示直接开放的端口,不包含通过服务方式开放的。想看得更全,可以加上--list-all参数,它会显示所有配置信息,包括服务、端口、规则等。这一步很关键,能避免重复操作或者误删已有规则。

永久开放端口的具体步骤

centos防火墙开放端口_防火墙端口开放协议_centos防火墙开放端口

开放端口分两种,临时和永久。临时开放重启后就没了,所以一般都用永久。命令格式是firewall-cmd --zone=public --add-port=端口号/协议 --permanent。这里端口号后面要跟上协议类型,常见的是tcp和udp。比如开放80端口给HTTP服务,就写成firewall-cmd --zone=public --add-port=80/tcp --permanent

很多人卡在这一步,不知道协议该怎么选。简单说,大多数Web服务、数据库连接都用tcp,像DNS查询这类才用udp。如果你不确定,可以两个都加上,比如firewall-cmd --zone=public --add-port=3306/tcp --permanentfirewall-cmd --zone=public --add-port=3306/udp --permanent。但别滥用,开放不必要的协议会增加安全风险。

执行完添加命令后,千万记得重载防火墙,否则规则不会生效。重载命令是firewall-cmd --reload。如果不做这一步,你可能会觉得命令没起作用,白白浪费时间排查。重载后可以用firewall-cmd --zone=public --list-ports确认一下centos防火墙开放端口,看新端口是否出现在列表中。

centos防火墙开放端口_centos防火墙开放端口_防火墙端口开放协议

开放端口后如何验证是否成功

光看防火墙配置还不够,得真刀真枪测试一下。最直接的办法是在本地机器上用telnet或者nc命令连接测试。比如你开放了22端口,就在另一台电脑上执行telnet 服务器IP 22centos防火墙开放端口,如果连接成功,说明端口通了。要是连不上,先检查是不是防火墙没生效,再看看服务本身有没有启动。

还有个常用工具是netstat,它能看端口是否在监听。命令是netstat -tuln,输出结果里会显示所有监听中的端口。如果你的端口没出现在列表里,那问题可能出在服务配置上,而不是防火墙。比如你开放了80端口,但Nginx没启动,外部自然访问不了。

防火墙端口开放协议_centos防火墙开放端口_centos防火墙开放端口

线上环境里,我习惯用在线端口检测工具,比如一些网站提供的端口扫描服务。输入服务器IP和端口号,几秒钟就能知道通不通。这对排查网络层面的问题很有帮助,特别是当你怀疑运营商或者云平台的安全组也在拦端口时。

常见问题及解决方法

开放端口后服务还是访问不了,八成是忘了重载防火墙。人一忙就容易漏步骤,我见过好几个人卡在这个坑里。另外检查一下是不是写错了端口号或协议,比如把8080写成了808,这种低级错误很常见。

centos防火墙开放端口_centos防火墙开放端口_防火墙端口开放协议

还有一种情况是云服务器上的安全组没放行。很多新手在CentOS里配好防火墙,却忽略了云平台自带的安全组规则。登录云控制台,找到安全组或防火墙设置,添加相应的入方向规则。这两个防火墙是独立的,都得配置才能正常访问。

如果开放了大量端口,管理起来容易乱。建议使用服务方式而不是端口方式。比如提前定义好HTTP服务,然后执行firewall-cmd --zone=public --add-service=http --permanent,这样更清晰。最后提醒一句,别开放不必要的端口,每个开放的端口都是潜在的安全隐患linux查看操作系统,用完记得关闭。

Tagged:
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复