正常情况下,我们写入的iptables规则将会在系统重启时消失。即使我们使用iptables-save命令将iptables规则存储到文件,在系统重启后也需要执行iptables-restore操作来恢复原有规则。(当然,你也可以通过在network中的if.post.up.d中配置启动规则来达到开机自动启动iptables的方法)
这里我们有一个更好的iptables持久化方案,让防火墙规则重启后依旧有效。即使用iptables-persistent工具。
首先,安装:
sudo apt-get install iptables-persistent
安装完后即可使用以下命令保存或载入规则:
Ubuntu 14.04
sudo invoke-rc.d iptables-persistent save
sudo invoke-rc.d iptables-persistent reload
或者
sudo /etc/init.d/iptables-persistent save
sudo /etc/init.d/iptables-persistent reload
Ubuntu 16.04
sudo netfilter-persistent save
sudo netfilter-persistent reload
生成的规则将被存储在以下文件中
/etc/iptables/rules.v4
/etc/iptables/rules.v6
参考:How to save rules of the iptables?