如何检查iptables或nftables是否拦截了流量呢?首先,你得运行sudo iptables -L -n -v来检查INPUT/FORWARD链以及默认策略,或者用sudo nft list ruleset查看drop/reject规则。然后,还得结合firewalld状态、conntrack表使用率以及云安全组等进行多层排查。

Linux怎么查看网络连接拦截原因

查 iptables 或 nftables 是否拦截流量

大多数 Linux 服务器默认用 iptablesnftables 做包过滤,连接被拒往往就卡在这层。别急着关防火墙,先看规则里有没有明确 DROPREJECT 的条目。

检查 firewalld 是否启用并限制端口

firewalld 是 CentOS/RHEL/Fedora 默认的防火墙管理器,它不直接暴露底层规则,容易让人误以为“没开防火墙”。实际它可能静默拦截,尤其对非标准端口。

确认连接是否被 conntrack 或内核模块丢弃

某些场景下,连接看似“超时”或“拒绝”,其实不是防火墙干的,而是连接跟踪表满、SYN 包被内核丢弃,或 netfilter 模块异常。这类问题不会出现在 iptables 规则里,得看内核日志。

验证是否被云平台安全组或宿主机防火墙拦截

在云服务器阿里云、腾讯云、AWS)或虚拟机环境中,Linux 本机的防火墙只是最后一道防线。前面还有安全组、VPC 网络 ACL、宿主机 iptables,它们优先级更高,且你根本看不到。

真正难排查的,往往是“多层防火墙叠加”——比如安全组开了 22 端口,但宿主机 iptables DROP 了所有非 10.0.0.0/8 流量,而你的访问 IP 不在该网段。这种情况下,iptables -L 看起来干净,firewall-cmd 显示正常,但连接就是不通。得一层层往上翻,不能只盯着本机。
本文转载于:https://www.php.cn/faq/3013982.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。