news 2026/3/27 10:10:51

Linux iptables 四表五链:新手友好版解释

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux iptables 四表五链:新手友好版解释

iptables 四表五链:新手友好版解释

一、核心概念类比

简单理解:iptables就像快递分拣中心

四表 = 不同的分拣规则手册 五链 = 快递流水线上的5个检查点 规则 = 具体的分拣指令(比如:来自上海的包裹发往1号货架)

二、五链(5个检查点)

想象一个快递包裹进入分拣中心的过程:

1. PREROUTING链(进门前检查)

包裹刚送到分拣中心大门口 ↓ 检查包裹标签(修改目的地址) ↓ 决定这个包裹该去哪个仓库(路由决策)

简单说:数据包刚进入Linux系统,还没决定发往哪里的时候

2. INPUT链(收件人签收处)

包裹确定是发给本大楼的 ↓ 送到前台签收处 ↓ 收件人(本机上的程序)签收

简单说:数据包的目标是本机上的某个程序时(比如有人访问本机的Web服务)

3. FORWARD链(中转站)

包裹不是发给本大楼的 ↓ 经过本大楼中转 ↓ 转发给其他目的地

简单说:本机作为路由器,数据包只是路过,目标不是本机时

4. OUTPUT链(寄件处)

本大楼要寄出的包裹 ↓ 在寄件处打包 ↓ 贴上标签发出去

简单说:本机主动向外发送数据包时(比如浏览器访问网站)

5. POSTROUTING链(出门前检查)

包裹即将离开分拣中心 ↓ 检查并修改寄件人地址 ↓ 贴上最终的发货标签

简单说:数据包离开Linux系统前的最后处理

三、四表(4本规则手册)

不同检查点使用的规则手册不同:

1. filter表(保安的检查手册)

主要工作:决定"让不让过" 常用指令:ACCEPT(允许)、DROP(丢弃)、REJECT(拒绝) 使用地点:INPUT、FORWARD、OUTPUT链

类比

  • 快递中心的保安
  • 检查包裹是否危险、是否允许进入

2. nat表(地址翻译员的手册)

主要工作:修改IP地址 常用指令:SNAT(改源地址)、DNAT(改目的地址) 使用地点:PREROUTING、OUTPUT、POSTROUTING链

类比

  • 快递中心的地址翻译员
  • 把"上海市人民广场"翻译成"仓库A区"

3. mangle表(包裹改造员的手册)

主要工作:修改数据包的特殊标记 常用指令:TOS(服务类型)、TTL(生存时间) 使用地点:所有5个链都可以用

类比

  • 快递中心的特殊处理员
  • 给包裹贴上"加急"、"易碎"标签

4. raw表(优先处理员的手册)

主要工作:决定是否跟踪连接状态 常用指令:NOTRACK(不跟踪) 使用地点:PREROUTING、OUTPUT链

类比

  • 快递中心的VIP通道处理员
  • 决定哪些包裹不走正常流程

四、完整流程图(快递中心的一天)

网络数据包 → Linux系统 ↓ ┌─────────────────────────────────────┐ │ PREROUTING链 (大门口) │ │ ↓ │ │ 1. raw表:VIP通道检查 │ │ 2. mangle表:贴特殊标签 │ │ 3. nat表:修改目的地地址(DNAT) │ └─────────────────────────────────────┘ ↓ ┌─── 路由决策:这个包裹给谁? ───┐ │ │ ↓ 发给本机 ↓ 发给别人 ↓ 本机发出 INPUT链 FORWARD链 OUTPUT链 (前台签收) (中转站) (寄件处) ↓ ↓ ↓ filter表 filter表 filter表 (保安检查) (保安检查) (保安检查) ↓ ↓ ↓ mangle表 mangle表 mangle表 (特殊处理) (特殊处理) (特殊处理) ↓ ↓ ↓ 本机程序 转发 POSTROUTING链 ↓ nat表:改寄件地址(SNAT) ↓ mangle表:最后检查 ↓ 离开系统

五、生活中的例子

场景:你家的智能门禁系统

四表 = 4本不同的管理手册: 1. 访客名单手册(filter表)- 谁可以进 2. 地址转换手册(nat表)- 快递改地址 3. 特殊标签手册(mangle表)- 贴"重要"标签 4. 快速通道手册(raw表)- 家人直接进 五链 = 5个检查点: 1. PREROUTING - 快递员在小区门口(还没到你家) 2. INPUT - 快递到你门口(给你的) 3. FORWARD - 快递给邻居的(只是路过你家) 4. OUTPUT - 你寄出的快递 5. POSTROUTING - 快递离开小区

六、简单记忆口诀

四表功能各不同: filter - 让不让过(安检) nat - 改不改地址(翻译) mangle - 贴不贴标签(标记) raw - 跟不跟踪(VIP通道) 五链位置要记清: PRE-INPUT-FORWARD-OUT-POST 前 - 入 - 转 - 出 - 后

七、查看现有的表和链

# 查看filter表的所有规则(默认表)iptables -L# 查看nat表规则iptables -t nat -L# 查看mangle表规则iptables -t mangle -L# 查看规则时显示链名iptables -L -v# 会显示:# Chain INPUT (policy ACCEPT)# Chain FORWARD (policy ACCEPT)# Chain OUTPUT (policy ACCEPT)

八、新手常见疑惑解答

Q1:表和链什么关系?

A:表是规则分类(做什么事),链是执行位置(在哪做)。
每个链可以使用多个表,每个表可以在多个链中使用。

Q2:为什么需要这么多表和链?

A:为了分工明确、效率高。就像快递中心,不同员工负责不同环节,不会互相干扰。

Q3:我平时最常用的是哪个?

A

  • 普通用户:主要用filter表INPUT链(控制谁能访问我的电脑)
  • 网络管理员:还会用到nat表(做网络地址转换)
  • mangle和raw表一般用不到

Q4:规则的执行顺序是什么?

A:按照链的流程走,在每个链中按表的固定顺序执行:

raw → mangle → nat → filter (VIP通道 → 贴标签 → 改地址 → 安检)

记住这个核心:表决定做什么,链决定在哪做。刚开始先掌握filter表和常用的INPUT链即可,其他慢慢了解。

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

【状态估计】 KEWLS和 KEWLS-KF (KKF) 研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室🍊个人信条:格物致知,完整Matlab代码及仿真咨询…

作者头像 李华
网站建设 2026/3/19 17:31:17

【选择开源商城系统的风险】

选择开源商城系统确实能节省初期成本,但清晰认识其中的风险至关重要。下面这个表格汇总了核心风险点,方便你快速把握。 风险类别 具体风险点 潜在影响 🛡️ 安全与稳定​ 代码公开,漏洞易被黑客发现和利用 数据泄露、服务中断、经…

作者头像 李华
网站建设 2026/3/27 1:28:23

电源选型封神帖:宽压 / 高压差 / 低噪声场景的 LDO 与 DCDC 抉择

前言在硬件设计中,电源选型是绕不开的核心问题 ——“宽压场景用 DCDC?LDO 只能低压差?17V 转 3.3V 能用 LDO 吗?” 这些疑问困扰着很多工程师。本文整合了实际工程中的高频问题,从原理到实战,用直白的语言…

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

Lizard Systems Wi-Fi Scanner

链接:https://pan.quark.cn/s/28eeabfe125f这个软件有什么用?1.Wi-Fi Scanner Portable可以让您轻松定位可见的无线网络及其相应的信息,该工具可以获得网络名称(SSID)、信号强度(RSSI)和质量、MAC地址(bssid)、信道最大和可实现的数据速率、安…

作者头像 李华