如何设置CentOS防火墙开放端口

设置centos防火墙开放端口,需要使用firewalld服务。这并非一项复杂任务,但细节处理不当可能导致连接失败。

如何设置CentOS防火墙开放端口

CentOS 7及以后版本默认使用firewalld。 我曾经因为疏忽大意,在一次服务器迁移中,忘记开放必要的SSH端口,结果导致无法远程连接,不得不跑到机房进行物理操作,浪费了大量时间。 这让我深刻体会到正确配置防火墙的重要性。

要开放端口,你需要知道目标端口号以及对应的服务。例如,要开放SSH连接(通常使用22端口),你需要执行以下命令:

sudo firewall-cmd --permanent --add-port=22/tcp

登录后复制

这条命令做了两件事:–permanent 参数表示永久生效,更改会在系统重启后保留;–add-port=22/tcp 指定添加22端口的TCP协议访问。 如果你需要开放UDP协议的端口,只需将tcp改为udp即可。 例如,开放DNS服务常用的53端口的UDP和TCP访问:

sudo firewall-cmd --permanent --add-port=53/tcp
sudo firewall-cmd --permanent --add-port=53/udp

登录后复制

命令执行后,别忘了重新加载防火墙配置使更改生效:

sudo firewall-cmd --reload

登录后复制

这步至关重要! 我曾经遇到过一个情况,执行了添加端口的命令,却忘记了reload,结果新配置没有生效,白忙活一场。

有时候,你可能需要开放特定IP地址的访问权限。 例如,只允许来自特定IP的连接访问你的数据库服务(假设端口为3306):

sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="3306" accept'
sudo firewall-cmd --reload

登录后复制

这条命令较为复杂,但它提供了更精细的控制。 add-rich-rule 允许你构建更复杂的规则。 你需要仔细检查IP地址和端口号的正确性。 错误的配置可能会导致安全漏洞。

最后,如果你需要查看当前防火墙的配置,可以使用以下命令:

sudo firewall-cmd --list-all

登录后复制

这个命令会列出所有已开放的端口和规则,方便你检查和排错。 记得定期检查你的防火墙配置,确保安全性和服务的可用性。 良好的安全习惯,能有效避免不必要的麻烦。 切记,在进行任何防火墙配置更改前,最好先备份你的配置,以防万一。

路由网(www.lu-you.com)您可以查阅其它相关文章!

未经允许不得转载:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权!路由网 » 如何设置CentOS防火墙开放端口