一、核心概念
1. 基本结构
- 表(Table):
filter(过滤)、nat(地址转换)
- 链(Chain):
INPUT(入站)、OUTPUT(出站)、FORWARD(转发)
- 规则:匹配条件 + 处理动作
2. 常用命令
1 2 3 4 5 6 7 8 9
| iptables -L -n --line-numbers
iptables -F
iptables -P INPUT DROP iptables -P OUTPUT ACCEPT
|
3. 规则组成
匹配条件:
-p tcp/udp:协议
--dport 22:目标端口
-s 192.168.1.0/24:源IP
-m state --state NEW,ESTABLISHED:连接状态
处理动作:
-j ACCEPT:允许
-j DROP:丢弃(推荐)
-j REJECT:拒绝
二、实用配置示例
Web服务器基础配置
1 2 3 4 5 6 7 8 9 10 11 12 13
| iptables -F iptables -P INPUT DROP iptables -P OUTPUT ACCEPT
iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT iptables -A INPUT -p tcp --dport 80,443 -j ACCEPT
|
NAT配置(网关服务器)
1 2 3 4 5 6 7 8
| echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 192.168.1.100:80
|
安全增强配置
1 2 3 4 5
| iptables -A INPUT -p tcp --dport 22 -m limit --limit 3/min -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 50 -j DROP
|
三、规则管理
持久化配置
1 2 3 4 5 6 7
| dnf install iptables-services service iptables save
apt install iptables-persistent netfilter-persistent save
|
备份与恢复
1 2 3 4 5
| iptables-save > backup.rules
iptables-restore < backup.rules
|
提示: 生产环境使用DROP策略,修改前务必备份。