操作文档针对 ubuntu20 和 centos 系统,其他系统类似。iptables-save 命令其实只是把配置文件打印出来,并不会真的 save,这个有点容易让人误解。

针对 ubuntu 平台

ubuntu20 需要安装 iptables-persistent 才能实现持久化

1
apt install iptables-persistent

持久化的配置文件保存在

1
2
3
4
5
# 针对ipv4
/etc/iptables/rules.v4

# 针对ipv6
/etc/iptables/rules.v6

手动保存当前配置

1
2
3
4
5
# 针对ipv4
sudo iptables-save > /etc/iptables/rules.v4

# 针对ipv6
sudo ip6tables-save > /etc/iptables/rules.v6

针对 centos 平台

安装包 iptables-services

1
sudo dnf install iptables-services

配置文件位置

1
2
/etc/sysconfig/iptables
/etc/sysconfig/ip6tables

需要关闭 firewalld 然后启动 iptables

1
2
sudo systemctl disable --now firewalld
sudo systemctl enable --now iptables

手动保存当前配置

1
2
sudo iptables-save > /etc/sysconfig/iptables
sudo ip6tables-save > /etc/sysconfig/ip6tables

netfilter-persistent 命令

使用 netfilter-persistent save 可以自动保存当前规则,本质上是调用两个脚本