【iptables命令详解】iptables 是 Linux 系统中用于配置 IPv4 数据包过滤规则的工具,广泛应用于防火墙设置和网络流量控制。它通过定义一系列规则来决定如何处理进入或离开系统的数据包。iptables 的规则存储在不同的“表”中,每个表包含多个“链”,而每个链又由多个规则组成。
为了帮助用户更好地理解和使用 iptables,以下是对 iptables 命令的总结与说明,并以表格形式呈现关键信息。
一、iptables 基本概念
| 概念 | 说明 |
| 表(Table) | iptables 有四个主要表:`filter`、`nat`、`mangle` 和 `raw`,分别用于不同类型的规则管理。 |
| 链(Chain) | 每个表中包含若干链,如 `INPUT`、`OUTPUT`、`FORWARD` 等,表示数据包经过的不同处理阶段。 |
| 规则(Rule) | 每条规则指定一个匹配条件和一个目标动作,如允许、拒绝或丢弃数据包。 |
| 目标(Target) | 规则的执行动作,例如 `ACCEPT`、`DROP`、`REJECT`、`LOG` 等。 |
二、iptables 主要命令格式
| 命令 | 说明 |
| `iptables -A chain rule` | 在指定链末尾添加一条规则 |
| `iptables -I chain [num] rule` | 在指定链的指定位置插入一条规则 |
| `iptables -D chain rule` | 删除指定链中的某条规则 |
| `iptables -L` | 列出当前所有规则 |
| `iptables -F` | 清空所有规则 |
| `iptables -X` | 删除用户自定义的链 |
| `iptables -Z` | 将计数器归零 |
| `iptables -P chain target` | 设置默认策略(如 DROP 或 ACCEPT) |
三、iptables 表与链说明
| 表(Table) | 链(Chain) | 用途说明 |
| filter | INPUT | 处理进入本机的数据包 |
| filter | OUTPUT | 处理从本机发出的数据包 |
| filter | FORWARD | 处理经过本机转发的数据包 |
| nat | PREROUTING | 在路由之前修改数据包的目标地址 |
| nat | POSTROUTING | 在路由之后修改数据包的源地址 |
| nat | OUTPUT | 修改本地生成的数据包的目标地址 |
| mangle | INPUT | 修改数据包的头部信息(如 TOS 字段) |
| mangle | OUTPUT | 修改本地生成的数据包的头部信息 |
| raw | PREROUTING | 控制数据包是否被连接跟踪 |
| raw | OUTPUT | 控制本地生成的数据包是否被连接跟踪 |
四、常见命令示例
| 示例命令 | 说明 |
| `iptables -A INPUT -s 192.168.1.100 -j DROP` | 拒绝来自 IP 地址 192.168.1.100 的所有入站数据包 |
| `iptables -A OUTPUT -d 192.168.1.200 -p tcp --dport 80 -j ACCEPT` | 允许本机访问 192.168.1.200 的 80 端口 |
| `iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT` | 允许从 eth0 接口到 eth1 接口的数据包转发 |
| `iptables -P INPUT DROP` | 设置默认策略为丢弃所有入站数据包 |
| `iptables -L -n -v` | 列出所有规则,显示详细统计信息 |
五、注意事项
- 使用 `iptables` 前应确保系统已安装并启用相关模块。
- 修改规则后,建议保存配置,否则重启后会丢失。
- 不建议直接在生产环境中随意更改默认策略,避免误操作导致网络中断。
- 可使用 `iptables-save` 和 `iptables-restore` 命令进行规则的备份与恢复。
六、总结
iptables 是 Linux 系统中功能强大的防火墙工具,能够对网络流量进行精细控制。理解其基本结构、命令格式及常用操作是配置安全网络环境的关键。合理使用 iptables 可有效提升系统安全性,同时避免因配置不当引发的问题。
| 项目 | 内容 |
| 工具名称 | iptables |
| 作用 | 配置 IP 数据包过滤规则 |
| 主要表 | filter, nat, mangle, raw |
| 常用链 | INPUT, OUTPUT, FORWARD, PREROUTING, POSTROUTING |
| 常见操作 | 添加、删除、列出规则;设置默认策略;保存配置 |
通过以上内容,可以系统地掌握 iptables 的使用方法和应用场景,为实际部署和维护提供有力支持。


