iptables 里INPUT、OUTPUT、FORWARD 三个链(Chain)详解

iptables 里,INPUTOUTPUTFORWARD 是最核心的三个链(Chain) ,它们定义了数据包在本机处理过程中的三个关键路径。下面我会通俗地解释它们的含义和作用:


🔁 总体概念:什么是链(Chain)?

iptables 把数据包的处理过程分为多个"链",每条链就是一组规则,规则之间按顺序匹配。三大最常用的链如下:

链名称 作用方向 数据包路径
INPUT 进入本机 外部数据包 → 本地程序
OUTPUT 从本机发出 本地程序 → 外部网络
FORWARD 本机转发(不处理) 外部设备 → 外部设备(经由本机)

📥 1. INPUT 链

作用:控制访问本机的网络流量

  • 只要是别人访问你(比如你开了一个 web 服务,别人访问你的 80 端口),就会经过 INPUT 链。

  • 适用于:SSH、HTTP、HTTPS、Ping 等所有入站连接

示例:

bash 复制代码
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

允许其他主机访问本机的 22 端口(SSH)。


📤 2. OUTPUT 链

作用:控制本机发出的流量

  • 当你在本机执行 curl、ping、apt-get、wget、ssh 等命令时,这些"出站"请求都会经过 OUTPUT 链。

示例:

bash 复制代码
iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT

允许本机访问外部 HTTP(80 端口)网站。


🔀 3. FORWARD 链

作用:控制"路由转发"流量(本机作为中转,不是源也不是目的)

  • 本机如果做了网关、路由器、NAT、VPN、Docker 桥接等转发行为,就会用到 FORWARD 链。

  • 比如一个包从网卡 eth0 进来,经由本机,从网卡 eth1 转出去,就会用到 FORWARD 链。

示例:

bash 复制代码
iptables -A FORWARD -s 192.168.1.0/24 -d 10.0.0.0/24 -j ACCEPT

允许本机转发来自 192.168.1.* 到 10.0.0.* 的流量。


🧠 总结对比

链名称 流量方向 是否发给本机 是否来自本机 示例
INPUT 入站流量 ✅ 是 ❌ 否 别人访问你
OUTPUT 出站流量 ❌ 否 ✅ 是 你访问别人
FORWARD 转发流量 ❌ 否 ❌ 否 本机充当中转(如路由器)
相关推荐
技术硬汉1 天前
Ai帮我找问题-路由器拨号问题-SIM卡不识别
网络·智能路由器
量子罐头2 天前
光润通发布LYSH-LAN-V1.0家庭版智能安全路由器 主打国密级硬件加密
网络·安全·智能路由器
BS_Li5 天前
【Linux网络编程】NAT、代理服务、内网穿透
linux·网络·智能路由器
普马萨特5 天前
当无线电波睁开双眼:从“盲管”到下一代空间感知模态
智能路由器
minxihou5 天前
TRINITY-Router: 用数据证伪LLM路由假设 - 8模型316题实验报告
人工智能·深度学习·语言模型·智能路由器
从零开始的代码生活_6 天前
NAT、代理服务与内网穿透详解
linux·服务器·网络·c++·http·智能路由器
儒雅的烤地瓜6 天前
计算机网络 | 路由器局域网(内网)IP和外网(公网)IP的区别与联系
网关·tcp/ip·智能路由器·ip·外网·内网·nat技术
星恒讯工业路由器6 天前
公网IP、NAT、端口映射:外网访问家里的“通关攻略”
网络·智能路由器·信息与通信·nat·端口映射·公网ip
fei_sun7 天前
AD管理距离(思科)
智能路由器
江华森24 天前
TCP/IP 协议栈实战 — 7 个实验详解
网络·tcp/ip·智能路由器