У меня есть марионеточная основная виртуальная машина, которая управляет почти 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',
}
}
Кто-то может помочь мне с этим?
Заранее спасибо
Вместо полного отключения iptables я бы рекомендовал использовать модуль Puppetlabs Firewall для управления межсетевыми экранами / iptables:
$ puppet module install puppetlabs-firewall
Затем вы можете написать несколько Марионетка, такая как эта:
firewall { '100 Allow http and https access':
port => [80, 443],
proto => tcp,
action => accept,
}