как к открытому порту 80 на поле, управляемом с Марионеткой

У меня есть марионеточная основная виртуальная машина, которая управляет почти 20 узлами. Мне установили Nagios на одном из этих узлов, и для GUI Nagios для работы я должен был бы остановить iptables на этом nagios поле. Проблема - это каждый раз, когда Марионеточные выполнения она запустит iptables сервис назад на. Я попытался добавить сервис в nagios модулях server.pp файл как это, которое не работало. Это говорит, что iptables сервис уже определяется и не может иметь дубликата:

service
   {
     iptables:
     ensure => stopped,

 }

Кроме того, я попытался использовать исполнительную команду

exec { "open-port-80":
         command  => "sudo iptables -I INPUT 14 -m state --state NEW -p tcp --dport 80 -j ACCEPT",
        path     => "${os_path}",
        unless   => "sudo iptables-save | grep 80 | grep INPUT | grep ACCEPT | grep NEW | wc -l | xargs test 1 -eq",
        notify   => Exec["ip-tables-save"]
}

exec { "ip-tables-save":
         command     => "sudo service iptables save",
#        refreshonly => true,
#        path        => "${os_path}",
}

Также попробованный код ниже, но не имел никакой удачи:

if defined("iptables") and defined(Class['iptables'])
  {
    iptables::add_tcp_stateful_listen
    {
      ‘nagios-core':
      client_nets => '[nagios node IP address here]/32',
        dports => ‘80',
    }
  }

Кто-то может помочь мне с этим?

Заранее спасибо

3
задан 27 March 2015 в 17:17
1 ответ

Вместо полного отключения iptables я бы рекомендовал использовать модуль Puppetlabs Firewall для управления межсетевыми экранами / iptables:

$ puppet module install puppetlabs-firewall

Затем вы можете написать несколько Марионетка, такая как эта:

firewall { '100 Allow http and https access':
  port   => [80, 443],
  proto  => tcp,
  action => accept,
}
1
ответ дан 3 December 2019 в 07:27

Теги

Похожие вопросы