iptables 完全指南
iptables 完全指南
面向读者:Linux 系统管理员、DevOps 工程师、网络工程师、安全运维人员以及所有希望深入理解 Linux 包过滤防火墙的技术人员。
为什么要学习 iptables?
iptables 是 Linux 内核中 Netfilter 框架的用户态管理工具,自 2000 年起成为 Linux 防火墙的事实标准。尽管 nftables 已经进入内核主线并逐步替代 iptables,但截至目前:
- 大量 生产服务器 仍运行 iptables 规则
- Docker、Kubernetes 等容器平台底层依赖 iptables 实现网络策略
- 云厂商 安全组 / ACL 的概念模型与 iptables 一脉相承
- nftables 提供了 兼容层(
iptables-nft),iptables 语法仍然有效
掌握 iptables,就是掌握 Linux 网络安全的基石。
教程结构
本教程共 18 章,按照由浅入深的顺序编排:
第一部分:基础篇
| 章节 | 标题 | 核心内容 |
|---|---|---|
| 01 | Netfilter 架构与 iptables 历史 | 内核包处理框架、iptables 演进、nftables 对比 |
| 02 | 核心概念:四表五链 | 表 / 链 / 规则 / 匹配 / 动作 / 数据包流向 |
| 03 | 基本语法与操作 | 规则的添加、删除、插入、列表、保存 |
| 04 | filter 表详解 | INPUT / OUTPUT / FORWARD 链与默认策略 |
| 05 | NAT 表详解 | SNAT / DNAT / MASQUERADE / 端口映射 |
| 06 | mangle 表详解 | 修改 TOS / TTL / MARK / 数据包整形 |
| 07 | raw 表与连接跟踪优化 | NOTRACK / 连接跟踪性能调优 |
第二部分:进阶篇
| 章节 | 标题 | 核心内容 |
|---|---|---|
| 08 | 扩展匹配模块 | tcp / udp / connlimit / time / hashlimit 等 |
| 09 | 扩展目标与动作 | LOG / DROP / REJECT / MASQUERADE / 自定义链 |
| 10 | 连接跟踪机制 | 状态机 / ESTABLISHED / RELATED / conntrack 工具 |
| 11 | 端口转发与代理 | 端口转发 / 内网穿透 / 负载均衡 / 透明代理 |
| 12 | 安全加固规则 | 防端口扫描 / 防 DDoS / 速率限制 / 白名单 |
| 13 | IPv6 防火墙 ip6tables | IPv6 规则 / 双栈配置 / IPv6 特有安全问题 |
第三部分:实战篇
| 章节 | 标题 | 核心内容 |
|---|---|---|
| 14 | 规则持久化 | iptables-save / iptables-persistent / systemd |
| 15 | Docker 与 iptables | Docker 网络规则 / 自定义链 / 端口映射冲突 |
| 16 | nftables 迁移指南 | 语法对比 / 兼容层 / 渐进迁移策略 |
| 17 | 故障排查与调试 | 常见问题 / 规则调试 / 连接问题 / 日志分析 |
| 18 | 最佳实践与运维规范 | 安全基线 / 运维规范 / 自动化管理 |
环境要求
| 项目 | 要求 |
|---|---|
| 操作系统 | Linux(推荐 Debian/Ubuntu/CentOS) |
| 内核版本 | ≥ 2.6(iptables)/ ≥ 3.13(nftables) |
| 权限 | root 或 sudo |
| 工具 | iptables ≥ 1.4、conntrack-tools、tcpdump(可选) |
阅读建议
- 零基础读者:从第 01 章顺序阅读至第 07 章,掌握基础后再进入进阶篇
- 有经验的管理员:可直接跳转到感兴趣的章节,每章独立完整
- Docker / K8s 用户:重点关注第 05、10、15 章
- 安全运维人员:重点关注第 10、12、18 章
- nftables 迁移:阅读第 16 章,配合第 01 章的对比内容
命名约定
- iptables:泛指 iptables 工具及规则体系
- Netfilter:Linux 内核中的包过滤框架
- nftables:iptables 的替代品(nft 命令行工具)
- 链(Chain):规则的有序集合
- 表(Table):具有相同功能目标的链的集合
- 规则(Rule):匹配条件 + 动作的组合
- 目标(Target):规则匹配后执行的动作
免责声明:在生产环境执行防火墙规则变更前,请务必在测试环境验证,并确保有带外(out-of-band)访问方式,避免因规则错误导致远程连接中断。