Linux系统iptables防火墙配置终极指南:从入门到精通
作为Linux系统管理员,掌握iptables防火墙配置是必备的核心技能。本文将带您深入了解iptables的工作原理,并通过20个实用示例演示如何构建企业级防火墙规则。
一、iptables基础架构解析
iptables由Netfilter框架和用户空间工具组成,采用"表-链-规则"的三层架构:
- 5张核心表:filter(默认)、nat、mangle、raw、security
- 5条内置链:INPUT、OUTPUT、FORWARD、PREROUTING、POSTROUTING
- 规则匹配流程:数据包依次经过不同表的特定链进行匹配
二、实战配置手册(含常用命令)
1. 基础规则管理
# 查看当前规则(带行号)
iptables -L -n --line-numbers
# 允许SSH访问(22端口)
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# 清空所有规则
iptables -F
2. 高级防护配置
# 防止SYN洪水攻击
iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT
# 阻止ICMP洪水
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
三、企业级配置方案
场景1:Web服务器防护
- 开放80/443端口
- 限制连接频率
- 启用防CC攻击规则
场景2:NAT网关配置
# 启用IP转发
echo 1 > /proc/sys/net/ipv4/ip_forward
# 设置SNAT规则
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
✧ 专家技巧
规则优化建议:
- 将高频匹配规则放在链的前部
- 使用ipset管理大批量IP
- 定期备份规则:
iptables-save > /etc/iptables.rules
四、持久化与故障排查
不同Linux发行版的持久化方法:
| 发行版 | 保存方法 |
|---|---|
| CentOS/RHEL | service iptables save |
| Ubuntu/Debian | iptables-persistent包 |
常见问题排查:
- 使用
iptables -vL查看规则匹配计数 - 通过
dmesg检查丢包日志
