我在几个月前在iptables中设置了规则,并使用iptables-persistent使规则在重新启动后保持不变。 我刚刚更新了我的规则,并试图让他们坚持,但没有任何工作,他们不断重置到早期版本。 我努力了:
创build一个在重新启动和每分钟运行的cronjob,
#!/bin/bash iptables-restore -c < /home/amart219/iptables.backup
我已经保存到该规则的默认位置的文件,并重新configurationiptables-persistent
iptables-save > /etc/iptables/rules.v4 dpkg-reconfigure iptables-persistent
我已经在/etc/network/if-pre-up.d/目录中放置了一个脚本,内容如下:
#!/bin/bash /sbin/iptables-restore < /home/amart219/iptables.backup /sbin/ip6tables-restore < /home/amart219/iptables.backup
这些变化没有任何区别。 我的理解是,dpkg-reconfigure iptables-persistent是正确的方法,但没有任何我尝试的作品。 恐怕过去的一段时间,我可能会试图让它们在安装iptables之前工作的其他方式持久化,但如果是这样的话,我不知道我该怎么做。 我运行:tail -500 / var / log / syslog在重启之后立即查看系统是否加载了任何内容,但除了通常的启动数据外我什么都看不到。 除了我创build的尝试恢复iptables设置的服务器之外,该服务器没有任何cron作业。 我不知道这是否是问题,但如果是这样,我不知道如何find它可能会从哪里改变它。
如果我手动运行我在cron中设置的脚本来恢复iptables设置,它工作得很好,但不会通过重新启动持续。 cronjob设置正确,在一个单独的服务器上有40多个cronjobs,我对这个过程很熟悉。
有什么build议么? 我不挑剔我只需要它的工作方法。
我曾经在/etc/rc.local(在Debian 8和Ubuntu 16.04上testing过)中使用了“iptables-restore”这一行,它工作得很好。