我在 CentOS 5.5 64 位上。我像往常一样在 iptables 中添加了一些规则。
所有更改均已保存,sudo service iptables save
并且所有规则均已通过命令行添加
但重启后,所有规则都恢复到以前的状态。
这在我之前运行 centos 32 位的服务器上不会发生。
如何使改变持久化?
答案1
您可能正在运行其他防火墙服务而不是库存iptables
服务,因此您的规则不会被加载。
答案2
将更改放入 /etc/sysconfig/iptables 中。
/etc/init.d/iptables 脚本使用 iptables-restore 应用此文件。
答案3
尝试这个:
cd /etc/sysconfig
copy iptables my-iptables
然后my-iptables
根据你的规则进行编辑。然后,以 root 身份:
iptables-restore < my-ip-tables
当您将来需要编辑您的 iptables 时,请编辑my-iptables
并使用iptables-restore
它进行更新。
也可以看看iptables 指南其中提到了iptables-save
另一种更新方法,可能更接近您已经尝试过的方法。但是,我认为使用单独的文件进行更改比直接编辑 iptables 文件更好。