操作文档针对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可以自动保存当前规则,本质上是调用两个脚本