我目前正在使用 Puppet 的新防火墙模块。我尝试iptables
在应用防火墙规则之前让 Puppet 刷新。我尝试了以下操作:
exec { 'clear-firewall':
command => '/sbin/iptables -F',
refreshonly => true,
}
Firewall {
subscribe => Exec['clear-firewall'],
notify => Exec['persist-firewall'],
}
到目前为止,它还没有起作用。有人可以建议或知道我应该尝试的其他方法吗?
答案1
因此,我想象您处于以下两种情况之一:
- 您希望清除现有规则,因为您希望 Puppet 配置拥有您的防火墙规则
- 您现有的规则与防火墙提供商不兼容
如果是 1...只需尝试在顶部范围的某处打开清除功能:
resources { "firewall":
purge => true,
}
如果是 2 ... 您可能需要在 Puppet 运行之前清除这些规则或使它们兼容。如果您遇到特定的不兼容性,请告诉我 - 我们可能会针对它提出错误。