news 2026/7/23 23:53:52

iptables 规则写完不生效,3 个常见排查点

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
iptables 规则写完不生效,3 个常见排查点

写 iptables 规则最让人头疼的场景莫过于:命令执行成功、规则也能列出来,但流量就是不按预期走 —— 该拦的拦不住,该放的放不通。

排查这类问题不用瞎猜,90% 的情况都逃不开下面这 3 个经典坑。按顺序过一遍,基本都能定位。


排查点一:规则顺序错了,被前面的规则 “截胡”

问题现象

明明加了一条 DROP 规则封禁某个 IP,对方却还能正常访问;或者写了 ACCEPT 放行端口,端口依然不通。用iptables -L看规则确实存在,但计数器(pkts/bytes)一直是 0。

根本原因

iptables 遵循首次匹配原则:数据包从上到下依次匹配链中的规则,一旦某条规则命中并执行了 ACCEPT / DROP / REJECT 等终止性动作,后续规则就不再检查。

绝大多数人习惯用-A(append)追加规则,新规则会被加到链的末尾。如果前面已经有一条范围更大的规则先匹配了流量,你后面加的规则就永远不会触发。

典型反面教材

# 先放行所有入站流量iptables-AINPUT-jACCEPT# 再封禁某个 IP —— 永远不会生效!iptables-AINPUT-s192.168.1.100-jDROP

上面第二条规则写了等于白写,因为所有包在第一条就被 ACCEPT 了。

正确做法

  • 精细规则放前面,宽泛规则放后面

  • 插入规则用-I插到链首,或用-I INPUT 数字插到指定位置

  • 封禁类规则优先放在放行规则之前

# 正确顺序:先封禁,再放行其他iptables-IINPUT-s192.168.1.100-jDROP iptables-AINPUT-jACCEPT

快速验证

用带计数器的命令查看命中情况:

iptables-LINPUT-n-v--line-numbers

如果某条规则 pkts 一直是 0,大概率是被前面的规则截胡了。


排查点二:链或表选错了,流量根本不走这条链

问题现象

规则写了、顺序也对,但就是零命中。常见于端口映射、容器暴露端口、转发流量等场景。

根本原因

iptables 有 “四表五链”,不同流向的数据包经过的链完全不同。规则放错了链或表,流量自然碰不到它。

最容易踩的几个坑:

1. INPUT 和 FORWARD 搞混
  • INPUT 链:目标地址是本机的流量(别人访问你服务器上的服务)

  • FORWARD 链:经过本机转发的流量(路由器 / 网关场景、容器流量转发)

如果你在做端口映射或者用 Docker 暴露端口,流量经过的是 FORWARD 链而非 INPUT,往 INPUT 里加规则当然无效。

2. filter 表和 nat 表搞混
  • filter 表(默认):用来过滤放行 / 拦截

  • nat 表:用来做地址转换(DNAT/SNAT)

DNAT 端口映射必须写在nat表的PREROUTING链,写在 filter 表里不会生效。

3. Docker 环境的特殊坑

Docker 启动后会自己管理 iptables 规则,容器暴露的端口流量走DOCKER链和DOCKER-USER链。你在宿主机 INPUT 链里加的封禁规则,对容器端口基本无效。

正确做法是把规则加到DOCKER-USER链:

# 封禁某个 IP 访问容器暴露的端口iptables-IDOCKER-USER-s192.168.1.100-jDROP

快速自查清单

  • 流量是访问本机还是经过转发?→ 选 INPUT / FORWARD

  • 是过滤还是地址转换?→ 选 filter /nat 表

  • 有没有 Docker / Kubernetes 等容器环境?→ 检查 DOCKER-USER 链

  • 服务监听在 [127.0.0.1](127.0.0.1) 还是 [0.0.0.0](0.0.0.0)?→ 回环地址不走物理网卡规则


排查点三:连接跟踪机制导致 “看起来没生效”

问题现象

新加了一条封禁规则,但已建立的连接还在正常通信,过了好几分钟甚至更久才断开。尤其常见于 SSH、MySQL、长连接 HTTP 等场景。

根本原因

这不是 bug,是 iptables 的连接跟踪(conntrack)机制在起作用。

Linux 内核会跟踪每一条 TCP/UDP 连接的状态(NEW / ESTABLISHED / RELATED 等)。对于已经处于ESTABLISHED状态的连接,后续数据包会直接复用连接跟踪表的记录,不会逐条重新匹配规则。

所以你新增的 DROP 规则,只能影响之后新建的连接,不会主动切断已经建立好的连接。看起来就像 “规则没生效”。

TCP 长连接的默认超时时间可以长达 5 天(nf_conntrack_tcp_timeout_established默认值 432000 秒),如果不主动断开,能一直挂着。

解决方法

如果需要立即生效,需要手动清理已有的连接跟踪记录:

# 安装 conntrack 工具yuminstallconntrack-tools# CentOS/RHELaptinstallconntrack# Debian/Ubuntu# 清除指定 IP 的连接记录conntrack-D-s192.168.1.100# 清除指定端口的连接记录conntrack-D-ptcp--dport3306

延伸:写规则时的好习惯

建议在规则开头放行已建立连接的回包,这是标准写法:

# 放在 INPUT 链最前面iptables-IINPUT-mconntrack--ctstateESTABLISHED,RELATED-jACCEPT

这样本机主动发起请求的返回流量能正常通过,不用为每个回包方向单独写规则。


最后:一分钟排查流程

遇到 iptables 规则不生效,按这个顺序走:

  1. 看顺序iptables -L -n -v --line-numbers,检查目标规则前面有没有更大范围的规则截胡

  2. 看链 / 表:确认流量流向和规则所在的链、表是否匹配,注意 Docker 等特殊环境

  3. 看连接conntrack -L检查是不是已有长连接在复用,需要手动清理

掌握这三点,绝大多数 iptables “玄学不生效” 问题都能快速定位。如果还不行,可以加 LOG 目标打印匹配日志,进一步精准分析。


提示:操作 iptables 前建议先备份规则,远程操作时尤其注意不要把自己关在外面。生产环境修改规则建议先在测试机验证,或配合定时任务做自动回滚。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/23 23:53:00

纯前端Canvas美食转盘|解决选择困难!午餐随机抽签工具(附完整源码)

手机apk下载地址连接:https://download.csdn.net/download/javacainiao222/93155266 一、项目背景 每天一到饭点就陷入选择困难症:吃米饭、面条还是麻辣烫?纠结半小时都拿不定主意。 网上很多转盘工具功能简陋,不能自定义菜品、没有历史记录、界面粗糙,还不支持移动端适…

作者头像 李华
网站建设 2026/7/23 23:52:19

AI为何难懂业务?时序数据库揭秘:融合数据库架构中的原生能力

AI为什么难以读懂业务? 让AI判断一台设备是否异常,究竟需要多少数据?如果只盯着当前的温度读数,显然远远不够。温度的升高,既可能是设备故障的前兆,也可能仅仅是负载增加的正常反应。要做出精准判断&#…

作者头像 李华
网站建设 2026/7/23 23:41:59

2026 年远程办公远控软件怎么选?从画质、延迟与安全性看 4 款工具

远程办公逐渐成了不少人的日常:在家连接办公室电脑、出差时处理文件,或临时协助同事排查问题。使用频率增加后,远程控制软件是否清晰、流畅和安全,就会直接影响工作效率。本文以 Windows 设备跨运营商连接为例,整理 To…

作者头像 李华
网站建设 2026/7/23 23:41:07

Google秘密芯片Frozen v2最早2028年部署,能否助力Gemini追赶?

大模型芯片,要把大模型「刻」到芯片上经历了一轮人才流失和产品延期之后,Google一项最早要到2028年才见分晓的秘密计划浮出水面。据The Information援引直接知情人士报道,Google正在开发一款代号Frozen v2的服务器芯片,专门为Gemi…

作者头像 李华
网站建设 2026/7/23 23:40:59

高端纯原木定制品牌怎么选?2026年三个维度帮你厘清

跑了大半年工厂,我发现整木定制行业有个规律——敢让你看白胚的工厂,至少材料不敢作假。 白胚就是上漆前的半成品。在这个阶段,木材有没有修补、拼接严不严密,一眼就能看穿。上了漆之后,很多瑕疵就被盖住了。这也是为什…

作者头像 李华
网站建设 2026/7/23 23:37:30

AI驱动的数据可视化革命(2024企业级落地白皮书首发)

更多请点击: https://codechina.net 第一章:AI驱动的数据可视化革命(2024企业级落地白皮书首发) 人工智能正从“辅助分析”跃迁为“自主可视化引擎”,2024年企业级数据看板已普遍集成自然语言理解、自动图表推荐与上下…

作者头像 李华