![一个好的(最好是标准的)方法是在 ubuntu 9.10 中恢复 iptables 配置](https://linux22.com/image/509738/%E4%B8%80%E4%B8%AA%E5%A5%BD%E7%9A%84%EF%BC%88%E6%9C%80%E5%A5%BD%E6%98%AF%E6%A0%87%E5%87%86%E7%9A%84%EF%BC%89%E6%96%B9%E6%B3%95%E6%98%AF%E5%9C%A8%20ubuntu%209.10%20%E4%B8%AD%E6%81%A2%E5%A4%8D%20iptables%20%E9%85%8D%E7%BD%AE.png)
我一直不明白为什么这不是内置设置,虽然可能是,而且东西变化太快,我只是错过了。我可以使用 iptables-save 来生成可以输入到 iptables-restore 中的东西,但我想知道是否有一个标准的地方可以放置它,以便在启动时获取它,而无需我在 rc.local 或不断变化的 init/event.d 脚本中添加任何内容。
答案1
从 Ubuntu 社区帮助站点看来,Ubuntu 没有保存规则的默认方法,但站点建议了两种方法:
- /etc/network/interfaces 中的 pre-up 和 post-down 语句
- /etc/network/if-pre-up.d 和 ../if-post-down.d 中的脚本
看这一页了解详情。
我个人更喜欢使用 Shorewall 和 Shorewall6 来简化 iptables 配置,它会在启动时自动恢复 iptables 规则。
答案2
我认为人们使用 iptables 的前端是很常见的,比如火神、shorewall 等,或者许多其他工具,而不是自己操作表格。大多数这些软件包都会设置 init 脚本,以便在启动时为您安装规则,然后您将规则放置在适合该工具的配置文件中。
我更喜欢 firehol,我真的很喜欢它简化的语法。您不必牺牲灵活性,您可以在需要时创建更复杂的规则。它创建了大量的链,使规则处理比您通常手动输入的规则集更有效率。