【发布时间】:2016-05-28 02:28:12
【问题描述】:
我想对我的系统的 iptables 强制执行策略,以便如果有人手动更改 iptables,那么 Chef 会在下次运行时将其恢复到正确的状态。这只是一个梦吗?一本名为“防火墙”的社区食谱说,如果其他人添加了防火墙规则,它将无法处理通知。
编辑:为了让事情更清楚:我在问如何在 Chef/Ruby 中编写一个幂等资源,这对于 iptables 来说是幂等的。
【问题讨论】:
-
另外,如果只使用标准的 iptables 工具来存储和恢复配置呢?
iptables-save和iptables-restore是你的朋友。 -
@MarcusMüller 这直接涉及编程工具,正如问题所述,它是关于使 iptables 与 Chef 幂等。如果你不知道 Chef 是什么,它是一个使用 Ruby 的配置管理工具。
-
@MarcusMüller 我添加了说明。我特别问如何编写一个幂等的 Chef 资源/Ruby code_block。我编辑了原始帖子以进行澄清。您的第二条评论的问题是,这样做需要使用 Chef 的执行资源,根据定义,该资源是非幂等的,并在此处的文档中说明:docs.chef.io/resource_execute.html
-
谢谢!是的,这很有意义;收回我对此的投票。
-
为了使其真正具有幂等性,您必须为 iptables 的输出编写一个解析器。根据我的经验,这会很快变得混乱。重置整个规则集并重新应用会更容易,但这样做会导致流量激增:(.
标签: linux configuration centos chef-infra rhel