Linux 服务器如何放行端口

Linux 服务器如何放行端口

在 Linux 服务器上部署网站、面板、数据库或其他服务时,经常需要放行端口。比如网站常用 80443,SSH 常用 22,宝塔面板常用 8888,某些程序可能使用自定义端口。

如果端口没有放行,即使程序已经启动,外部也无法访问。

一、先确认服务是否监听端口

放行端口前,建议先确认程序是否真的在监听该端口。

例如查看 8080 端口:

ss -tunlp | grep 8080

如果看到类似:

LISTEN 0 128 0.0.0.0:8080

说明服务已经监听 8080 端口。

如果没有输出,说明程序可能没有启动,或者监听的不是这个端口。

二、使用 ufw 放行端口

Ubuntu、Debian 上常见 ufw 防火墙。

查看 ufw 状态:

ufw status

放行 TCP 端口:

ufw allow 8080/tcp

放行 UDP 端口:

ufw allow 8080/udp

重新加载:

ufw reload

查看规则:

ufw status numbered

如果要删除规则,可以根据编号删除:

ufw delete 编号

三、使用 firewalld 放行端口

CentOS、Rocky Linux、AlmaLinux 常见 firewalld。

查看防火墙状态:

systemctl status firewalld

放行 TCP 端口:

firewall-cmd --permanent --add-port=8080/tcp

重新加载配置:

firewall-cmd --reload

查看已放行端口:

firewall-cmd --list-ports

删除端口规则:

firewall-cmd --permanent --remove-port=8080/tcp
firewall-cmd --reload

四、使用 iptables 放行端口

部分老系统或精简系统可能使用 iptables。

放行 TCP 端口:

iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

查看规则:

iptables -L -n --line-numbers

注意:iptables 规则默认可能重启后失效,需要额外保存规则。

Debian / Ubuntu 可以安装:

apt install iptables-persistent -y
netfilter-persistent save

CentOS 可以使用:

service iptables save

五、云服务器还要放行安全组

很多新手只修改了系统防火墙,但仍然无法访问端口,这是因为云服务器还有一层安全组。

常见云厂商都需要在控制台放行端口:

阿里云:安全组
腾讯云:防火墙/安全组
华为云:安全组
AWS:Security Group

需要添加入站规则:

协议:TCP
端口:8080
来源:0.0.0.0/0 或指定 IP

如果是 SSH、数据库、后台面板等敏感端口,不建议开放给所有 IP,最好限制为自己的固定 IP。

六、如何测试端口是否开放

本地电脑可以测试:

telnet 服务器IP 8080

或:

nc -vz 服务器IP 8080

也可以用浏览器访问:

http://服务器IP:8080

如果是 HTTPS 服务:

https://服务器IP:8080

七、常见端口参考

22:SSH
80:HTTP
443:HTTPS
3306:MySQL
5432:PostgreSQL
6379:Redis
8888:宝塔面板
8080:常见 Web 应用
8443:常见 HTTPS 面板或服务

数据库、Redis、后台管理端口不建议直接暴露公网。

八、常见问题

1. 端口放行了还是访问不了

可能原因:

程序没有启动
程序只监听 127.0.0.1
云安全组没有放行
系统防火墙没有放行
服务端口写错
运营商或机房屏蔽端口

2. 服务只监听 127.0.0.1

如果看到:

127.0.0.1:8080

说明只能本机访问,外部访问不到。需要把程序监听地址改成:

0.0.0.0

或服务器内网/公网 IP。

总结

Linux 服务器放行端口一般要检查三层:

程序是否监听端口
系统防火墙是否放行
云服务器安全组是否放行

只有这三层都没问题,外部才能正常访问该端口。

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容