使用 Puppet 的新防火墙模块,如何在应用规则之前清除 iptables?

使用 Puppet 的新防火墙模块,如何在应用规则之前清除 iptables?

我目前正在使用 Puppet 的新防火墙模块。我尝试iptables在应用防火墙规则之前让 Puppet 刷新。我尝试了以下操作:

exec { 'clear-firewall':
        command => '/sbin/iptables -F',
        refreshonly => true,
}

Firewall {
        subscribe => Exec['clear-firewall'],
        notify => Exec['persist-firewall'],
}

到目前为止,它还没有起作用。有人可以建议或知道我应该尝试的其他方法吗?

答案1

因此,我想象您处于以下两种情况之一:

  1. 您希望清除现有规则,因为您希望 Puppet 配置拥有您的防火墙规则
  2. 您现有的规则与防火墙提供商不兼容

如果是 1...只需尝试在顶部范围的某处打开清除功能:

resources { "firewall":
  purge => true,
}

如果是 2 ... 您可能需要在 Puppet 运行之前清除这些规则或使它们兼容。如果您遇到特定的不兼容性,请告诉我 - 我们可能会针对它提出错误。

相关内容