iptables 规则写完不生效,3 个常见排查点
写 iptables 规则最让人头疼的场景莫过于命令执行成功、规则也能列出来但流量就是不按预期走 —— 该拦的拦不住该放的放不通。排查这类问题不用瞎猜90% 的情况都逃不开下面这 3 个经典坑。按顺序过一遍基本都能定位。排查点一规则顺序错了被前面的规则 “截胡”问题现象明明加了一条 DROP 规则封禁某个 IP对方却还能正常访问或者写了 ACCEPT 放行端口端口依然不通。用iptables -L看规则确实存在但计数器pkts/bytes一直是 0。根本原因iptables 遵循首次匹配原则数据包从上到下依次匹配链中的规则一旦某条规则命中并执行了 ACCEPT / DROP / REJECT 等终止性动作后续规则就不再检查。绝大多数人习惯用-Aappend追加规则新规则会被加到链的末尾。如果前面已经有一条范围更大的规则先匹配了流量你后面加的规则就永远不会触发。典型反面教材# 先放行所有入站流量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/SNATDNAT 端口映射必须写在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 规则不生效按这个顺序走看顺序iptables -L -n -v --line-numbers检查目标规则前面有没有更大范围的规则截胡看链 / 表确认流量流向和规则所在的链、表是否匹配注意 Docker 等特殊环境看连接conntrack -L检查是不是已有长连接在复用需要手动清理掌握这三点绝大多数 iptables “玄学不生效” 问题都能快速定位。如果还不行可以加 LOG 目标打印匹配日志进一步精准分析。提示操作 iptables 前建议先备份规则远程操作时尤其注意不要把自己关在外面。生产环境修改规则建议先在测试机验证或配合定时任务做自动回滚。

相关新闻

PTA基础编程题目集 6-12判断奇偶性(C语言实现)

PTA基础编程题目集 6-12判断奇偶性(C语言实现)

题目描述摘要:本文来自一道 C 语言编程题,要求实现 even(n) 函数判断整数奇偶性。题目给出了函数接口定义、裁判测试程序样例及输入输出示例,并提供了两种具体实现:函数部分的独立实现和包含完整 main 函数的完整代码实现。#merma…

2026/7/23 23:54:05阅读更多 →
ChatGPT、Codex与Pro背后的验证工程:代码能够运行,为什么仍然不能直接合并?

ChatGPT、Codex与Pro背后的验证工程:代码能够运行,为什么仍然不能直接合并?

过去的软件开发流程里,“代码能够运行”常常被视为一个重要节点。接口可以正常返回。 程序没有明显报错。 测试命令能够执行。 核心功能看起来也符合预期。但当ChatGPT开始参与需求分析,Codex开始直接修改代码仓库,Pro开始支撑更长、更复杂的…

2026/7/23 23:54:05阅读更多 →
Linux 实时任务的 CPU 绑定:taskset 与实时性提升实战教程

Linux 实时任务的 CPU 绑定:taskset 与实时性提升实战教程

一、简介1.1 技术背景多核 Linux 系统默认调度策略为全局负载均衡,内核会自动将进程随机迁移到任意 CPU 核心,最大化整机吞吐量。该设计对于服务器、桌面系统十分友好,但对工业硬实时任务存在两大致命缺陷:跨核心缓存失效&#xf…

2026/7/23 23:54:05阅读更多 →
Moneta Markets亿汇:“量子电池财报持续受关注”

Moneta Markets亿汇:“量子电池财报持续受关注”

Yahoo Finance发布MarketBeat整理的QuantumScape二季度电话会要点,固态电池研发进度、商业化路线和资金使用成为投资者讨论重点,Moneta Markets亿汇表示,新能源技术股的核心仍是从实验室指标走向规模化交付。报道围绕公司管理层对产品开发、合…

2026/7/24 1:16:21阅读更多 →
AGI技术发展现状与未来突破路径分析

AGI技术发展现状与未来突破路径分析

1. AGI的概念界定与技术边界AGI(Artificial General Intelligence)这个概念最早由人工智能先驱Ben Goertzel在2006年明确提出,指的是具备人类水平认知能力的通用型人工智能系统。与当前主流的专用人工智能(Narrow AI)不…

2026/7/24 1:16:21阅读更多 →
LabVIEW集成YOLOv5实现工业视觉检测的并行推理优化

LabVIEW集成YOLOv5实现工业视觉检测的并行推理优化

1. 项目背景与核心价值在工业视觉检测领域,传统LabVIEW方案常面临算法单一、处理速度慢的瓶颈。最近成功将YOLOv5目标检测模型通过OpenCV DNN模块封装成DLL,实现了LabVIEW环境下的多模型并行推理。这个方案就像给LabVIEW装上了"AI外挂"&#x…

2026/7/24 1:16:21阅读更多 →
二本电子信息工程被捧成“高薪专业”,2026年普通学生该怎么做?

二本电子信息工程被捧成“高薪专业”,2026年普通学生该怎么做?

最近好多二本电子信息工程的学弟学妹来问我,说看到麦可思报告里电子信息类专业霸榜高薪前十、微电子登顶薪资榜首,但自己投简历却发现大厂连笔试机会都不给,特别分裂。我是电子信息工程毕业的,干过硬件也带过项目团队,…

2026/7/24 1:16:21阅读更多 →
Conan实战问题排查手册:十大常见错误与解决方案

Conan实战问题排查手册:十大常见错误与解决方案

1. 项目概述:为什么我们需要一份Conan问题排查手册? 如果你在用C做正经项目,尤其是涉及到多个第三方库、跨平台或者团队协作,那你大概率已经接触过或者正在被Conan折磨。Conan作为C生态里最主流的包管理器,它的设计理念…

2026/7/24 1:16:21阅读更多 →
CD7作为T细胞恶性肿瘤免疫治疗靶点的分子基础、挑战与策略

CD7作为T细胞恶性肿瘤免疫治疗靶点的分子基础、挑战与策略

简述: 本文系统阐述CD7作为免疫球蛋白超家族成员的分子结构特征及其在T细胞和NK细胞谱系中的表达规律,分析其介导T细胞活化与NK细胞功能调控的共受体作用机制,探讨CD7在T细胞急性淋巴细胞白血病、急性髓细胞白血病和NK/T细胞淋巴瘤等血液系统…

2026/7/24 1:14:21阅读更多 →
Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/24 0:58:53阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/24 0:58:53阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/24 0:58:53阅读更多 →
我的编程之路:第一篇博客

我的编程之路:第一篇博客

大家好,我是一名编程初学者,同时这也是我编程学习之路上的第一篇博客。在这里,我想要向大家介绍我的一些想法和规划。a.自我介绍我是一个刚刚接触编程的新手,目前在学习c语言,我对编程世界充满了强烈的好奇。当然&…

2026/7/24 0:00:06阅读更多 →
【LeetCode 54】螺旋矩阵

【LeetCode 54】螺旋矩阵

问题描述: 解法: 1、模拟(参考自【LeetCode 54】螺旋矩阵-CSDN博客) int *spiralOrder(int **matrix, int matrixSize, int *matrixColSize, int *returnSize) {static const int dirs[4][2] {{0, 1}, {1, 0}, {0, -1}, {-1, …

2026/7/24 0:00:06阅读更多 →
2026 WAIC:模型隐身、智能体疯野,厂商竞赛聚焦办公场景与商业闭环

2026 WAIC:模型隐身、智能体疯野,厂商竞赛聚焦办公场景与商业闭环

知春路不相信模型领先今年WAIC大会,昔日AI六小龙来了五家,分别是Kimi、阶跃星辰、Minimax、百川智能、零一万物。连放弃基模的百川和零一万物都来了,唯一缺席的竟是近几个月来风光无限的智谱。(DeepSeek一直不参加)WAI…

2026/7/24 0:00:06阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/23 22:58:43阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/23 18:58:18阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/23 18:58:18阅读更多 →