云服务器端口不通别乱重装:安全组与防火墙排查四步法

举报
yd_254320880 发表于 2026/10/23 09:45:32 2026/10/23
【摘要】 云服务器上服务起着、本地 curl 能通,外网却连不上?八成是端口被拦了。按「服务监听 → 安全组 → 系统防火墙 → 外网验证」四步排查,每步给命令和判断标准,十分钟定位问题,别动不动就重装系统。

前言

很多新手第一次在云服务器上部署服务都会遇到:服务明明启动了,服务器本机执行 curl 127.0.0.1:8080 能通,从自己电脑上访问却一直超时。第一反应往往是“系统出问题了,重装吧”。其实九成情况是端口被拦了,根本不用重装。按下面四步排查,十分钟就能定位。


第一步:确认服务真的在监听

先确认服务绑定了正确的地址和端口:

ss -tlnp | grep 8080

判断标准:

- 输出里看到 0.0.0.0:8080 或 :::8080 → 监听所有网卡,正常;

- 只看到 127.0.0.1:8080 → 服务只绑了回环地址,外网永远连不上。去改服务配置(如应用的 host 参数、nginx 的 listen),改成 0.0.0.0 后重启服务;

- 什么都没输出 → 服务没起来或端口号写错了,先把服务本身跑起来。


第二步:检查云厂商安全组

云服务器在云平台还有一层安全组,这是最常见的“拦路虎”。以华为云为例:控制台 → 找到实例 → 安全组 → 配置规则,检查入方向规则:

- 协议:TCP 还是 UDP?Web 服务、SSH、数据库用的都是 TCP,选错协议等于没放行;

- 端口:端口范围是否包含你的服务端口(比如 8080);

- 源地址:0.0.0.0/0 表示允许所有 IP;如果填了特定 IP,只有那个 IP 能连;

- 方向:必须是“入方向”规则,出方向默认全放行不用管。

判断标准:有一条入方向、协议正确、端口覆盖、源地址合适的规则,才算真正放行。


第三步:检查系统防火墙

安全组放行了,系统里面还有一道防火墙。Ubuntu/Debian 一般是 ufw,CentOS/Rocky 一般是 firewalld,也可能是裸 iptables:

sudo ufw status numbered # 看 ufw 状态和规则

sudo ufw allow 8080/tcp # 放行 8080/tcp

sudo firewall-cmd --list-all # 看 firewalld 当前规则

sudo firewall-cmd --permanent --add-port=8080/tcp && sudo firewall-cmd --reload

sudo iptables -L INPUT -n --line-numbers # 裸 iptables 看 INPUT 链

判断标准:规则里能看到你的端口被 ACCEPT;如果 ufw 显示 inactive,且 iptables 里也没有 DROP 规则,说明系统防火墙没拦,问题不在这一层。


第四步:从外网验证端口

前三步都确认没问题,最后从外网(你自己的电脑)验证端口到底通没通:

telnet 你的服务器公网IP 8080

nc -vz 你的服务器公网IP 8080

判断标准:telnet 显示 Connected 或 nc 显示 succeeded → 端口通了,问题在应用层(比如反向代理配置、域名解析);连接超时 → 回到第二步、第三步重新核对,多半是某条规则写错了。


小结

记住这个顺序:服务监听 → 安全组 → 系统防火墙 → 外网验证。每次只动一层,改完测一次,十分钟定位。端口不通是云服务器最常见的问题之一,养成按层排查的习惯,比重装系统快得多,也不会丢数据。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。