iptables常用操作

iptables规则是保存在内存中由内核调用生效的,因此当添加规则后会立即生效。若需持久化需保存。默认保存配置文件:/etc/sysconfig/iptables

查看规则

1
2
3
4
5
6
7
8
#查看所有规则(内存及持久化的规则)
iptables -L -n -v

#查看带行号(方便删除指定条目规则)
iptables -nL --line-number

#仅查看已持久化的规则
cat /etc/sysconfig/iptables

添加规则(无需重启服务)

1
2
3
4
5
bash复制# 开放 MySQL 端口(3306)
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT

# 限制特定 IP 访问(如 192.168.1.100)
iptables -A INPUT -s 192.168.1.100 -j DROP

删除规则

1
2
3
4
5
6
7
8
#查看所有表
iptables -vnL  --line-numbers

#删除input表,行号3的规则
iptables -t filter -D INPUT 3

#删除forward表,行号2的规则
iptables -t filter -D FORWARD 2

保存动态规则,实现持久化

1
2
3
service iptables save  
# 或 
iptables-save > /etc/sysconfig/iptables

清除所有规则,并保存到配置文件

1
2
3
4
5
iptables -F          # 清空 filter 表
iptables -t nat -F   # 清空 nat 表
iptables -t mangle -F # 清空 mangle 表
iptables -t raw -F   # 清空 raw 表
iptables-save > /etc/sysconfig/iptables  # 保存到配置文件(覆盖旧规则)

导出当前规则​

1
iptables-save > /tmp/test_rules.v4

导入规则

1
2
# 导入规则
iptables-restore < /tmp/test_rules.v4