首页/网络/网络排障速查/防火墙拦截的分层判断

防火墙拦截的分层判断

端口不通时先区分「网络不通」与「防火墙拦截」:看对端回 RST 还是超时、本机抓包看 SYN 是否到达,再定位到云安全组、iptables/nftables、firewalld/ufw 哪一层。

网络排障速查网络更新于 2026-10-12

逐层核对

逐层核对
iptables -L -nv --line-numbers | head -40
nft list ruleset | head -60
firewall-cmd --list-all 2>/dev/null || ufw status verbose
ss -tlnp | grep ':8080'
# 本机抓包:外部来访的 SYN 是否到达网卡:
tcpdump -ni any 'tcp port 8080 and tcp[tcpflags] & tcp-syn != 0' -c 5
判据RST(Connection refused)= 主机可达但被拒;纯超时 = 大概率 DROP
层次顺序云安全组/网络 ACL → 主机 iptables/nftables → firewalld/ufw → SELinux/AppArmor
云上要点安全组未放行时,主机抓包连 SYN 都看不到
同一台机器可以同时存在 iptables 与 nftables 两套规则(nft 后端 + 遗留 iptables),排查时两边都要看,firewalld 又是它们的上层封装。

易错点

  • 只查 iptables 不查 nftables/firewalld/云安全组,漏掉真正的拦截点
  • 把 REJECT 与 DROP 的症状混淆:前者回 RST(快拒),后者静默超时

数据来源与参考

  • man 8 iptables
  • man 1 firewall-cmd(firewalld)
  • 阿里云文档:安全组规则说明

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌