iptables入门

基础概念 iptables 是 Linux 系统中一个防火墙管理工具,真正实现防火墙功能的是位于内核的 netfilter,我们配置了 iptables 规则后 Netfilter 通过这些规则来进行防火墙过滤等操作。防火墙工作在 OSI 中的第 4 层。它控制网络数据包的进出、转发和修改。 从图中可以看到,内核在 IP 协议栈的关键位置注册了若干 hook 点,每个 hook 都可以挂载规则链。数据包流经路径时,会依次经过这些 hook。 要理解 iptables,最重要的是掌握其 “四表五链” 的架构。 五链 链是在某个 hook 点执行的一组规则,链决定了在数据包传输的哪个阶段触发规则。 Linux 内核在 IP 协议栈关键位置定义了五个 hook,对应五个“内置链”: PREROUTING:数据包刚到达网卡,还未进行路由决策。 INPUT:数据包目的地是本机。 FORWARD:数据包只是路过本机,转发到其他地方。 OUTPUT:本机产生的数据包向外发送。 POSTROUTING:数据包即将离开网卡。 四表 表决定了对数据包进行什么类型的操作。主要的表有四个: Filter:负责放行或拦截,这是最常用的表。 NAT:负责地址转换。 Mangle:负责修改数据包,如修改 TTL、打标记。 Raw:负责配置豁免,用于跳过连接跟踪。 链与表的关系 并不是每一个“表”都存在于每一个“链”中。它们的关系就像是一张矩阵图,每个交叉点代表一个具体的处理时机。 链 (Chains) \ 表 (Tables) Raw Mangle Filter NAT PREROUTING ✅ ✅ ✅ INPUT ✅ ✅ FORWARD ✅ ✅ OUTPUT ✅ ✅ ✅ ✅ POSTROUTING ✅ ✅ 当一个数据包经过你的机器时,它会按以下顺序穿越这些表和链: ...

二月 18, 2026 · by NOSAE