Как очистить iptables перед применением правил, используя новый модуль брандмауэра Puppet?

Как очистить iptables перед применением правил, используя новый модуль брандмауэра Puppet?

В настоящее время я использую новый Puppetмодуль брандмауэра. Я пытаюсь очистить Puppet iptablesдо того, как он применит правила брандмауэра. Я попробовал следующее:

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. Если у вас есть конкретная несовместимость, дайте мне знать - мы, вероятно, должны получить ошибку, связанную с этим.

Связанный контент