服务器重启时自动加载iptables设置的规则,方法如下:
首先保存iptables规则到一个文件
# sudo iptables-save > /etc/iptables.up.rules
接着修改 /etc/network/interfaces 脚本自动应用这些规则(末行是添加的)
sudo echo "pre-up iptables-restore < /etc/iptables.up.rules" >> /etc/network/interfaces
也可以准备一组规则来自动应用它
sudo echo " pre-up iptables-restore < /etc/iptables.up.rules" >>/etc/network/interfaces
sudo echo "post-down iptables-restore < /etc/iptables.down.rules " >> /etc/network/interfaces
上述方法在 Ubuntu 12.04 已测试过,生效。
针对于下面的方法,测试结果无效。正在查找原因中.......,如有朋友知道原因在哪,希望可以给我留言,谢谢。我的测试环境是Ubuntu 12.04。
重启之前,备份当前的iptables规则,然后在服务器启动时,将规则导入iptables。
操作如下:
备份iptables规则,将规则文件保存到当前用户目录下。
iptables-save > ~/iptables.bak
还原iptables规则:
iptables-restore < ~/iptables.bak
将还原规则写入自启动脚本中,脚本文件是 /etc/rc.local
echo "iptables-restore < ~/iptables.bak" >> /etc/rc.local