iptables规则链 INPUT,OUTPUT, FORWARD 介绍
封面图
•
2025-11-29
•
Linux
186
0
0
0
在 Linux 系统中,`iptables` 是一个用于配置 IPv4 数据包过滤规则的工具。它通过**规则链(chains)**来管理网络流量。`iptables` 有三个默认的规则链: --- ## ✅ **1. INPUT 链** - **作用**:处理**进入本机**的流量。 - **应用场景**:当你从外部访问你的服务器时(比如 HTTP、SSH),这些数据包会经过 `INPUT` 链。 - **示例**: - 允许 SSH 连接(端口 22): ```bash iptables -A INPUT -p tcp --dport 22 -j ACCEPT ``` - 拒绝所有其他入站流量: ```bash iptables -A INPUT -j DROP ``` --- ## ✅ **2. OUTPUT 链** - **作用**:处理**从本机发出**的流量。 - **应用场景**:当你的系统向外发送请求(比如访问网页、发邮件)时,这些数据包会经过 `OUTPUT` 链。 - **示例**: - 允许本机访问外部的 HTTP 服务(端口 80): ```bash iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT ``` - 拒绝所有其他出站流量: ```bash iptables -A OUTPUT -j DROP ``` --- ## ✅ **3. FORWARD 链** - **作用**:处理**经过本机转发**的流量(即本机作为网关或路由器时)。 - **应用场景**:如果你的机器是一个 NAT 路由器或防火墙,连接两个网络,那么数据包需要经过 `FORWARD` 链。 - **示例**: - 允许转发来自内网到外网的流量: ```bash iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT ``` - 拒绝所有转发的流量(默认策略): ```bash iptables -P FORWARD DROP ``` --- ## 📌 总结对比 | 链名 | 处理流量方向 | 应用场景 | |----------|--------------------|------------------------------| | `INPUT` | 进入本机的流量 | 接收外部连接(如 SSH、HTTP) | | `OUTPUT` | 从本机发出的流量 | 发送外部请求(如访问网页) | | `FORWARD`| 经过本机转发的流量 | 作为路由器或网关时使用 | --- ## 🧠 补充说明 - `iptables` 默认有三个内置链:`INPUT`, `OUTPUT`, `FORWARD`。 - 你也可以自定义链(`-N` 命令创建),然后在主链中引用它们。 - 规则的执行顺序很重要,`iptables` 是按顺序匹配规则的,一旦匹配成功就停止。 --- 如果你有具体的规则配置需求或想了解如何保存和恢复 `iptables` 规则,可以继续问我!
上一篇:
指甲上的半月痕你懂多少?
下一篇:
五种食物不可放进冰箱
标题录入,一次不能超过6条
留言
评论