Linux 防火墙放行端口后仍无法访问,常见漏查项有哪些
放行端口后还是访问不了,通常不是“防火墙没开”,而是安全组、监听地址、上游防护或服务本身出了问题。本文列出常见漏查项。
很多人把“我已经放行端口了”当成问题解决了,但实际访问还是失败。这时候最常见的误区,就是只查系统防火墙,不查云安全组,不查服务监听,也不查监听地址。排查要把四层都看一遍。
常见漏查项
| 漏查项 | 现象 | 怎么看 |
|---|---|---|
| 云安全组没放行 | 本机放行了,外部仍不通 | 控制台安全组 |
| 服务没监听 | 端口规则有了,但进程没起来 | `ss -lntp` |
| 只监听本地 | 本机能开,外部不行 | `127.0.0.1` |
| 上游防护拦截 | 某些来源不通 | WAF / 高防策略 |
先验证端口是否真的监听
ss -lntp | grep ':端口号'
如果没有输出,不要再怀疑防火墙,因为服务本身就没在听。
再看本机规则
firewall-cmd --list-all
iptables -S
ufw status
如果规则没问题,再回到云平台安全组。很多云服务器的问题其实卡在外层。
最容易忽略的一点
有些服务配置了 `ListenAddress 127.0.0.1`,这意味着只能本机访问。规则全开也没用。还有些面板会改写规则,重启后又被覆盖。
不建议的做法
不要为了排查把防火墙全部关闭。不要只改一层规则就急着测试结论。最好每次只改一个点,方便知道到底是哪一层生效了。