ほぼ20のノードを管理するパペットマスター仮想マシンがあります。これらのノードの1つにNagiosをインストールしていますが、Nagios GUIを機能させるには、そのnagiosボックスでiptablesを停止する必要があります。問題は、Puppetが実行されるたびに、iptablesサービスが再開されることです。このようなnagiosモジュールserver.ppファイルにサービスを追加しようとしましたが、機能しませんでした。 iptablesサービスはすでに定義されており、重複することはできません。
service
{
iptables:
ensure => stopped,
}
また、execコマンドを使用してみました
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を完全にオフにする代わりに、PuppetlabsFirewallモジュールを使用してファイアウォール/ iptablesを管理することをお勧めします。
$ puppet module install puppetlabs-firewall
次に、次のようなパペットを書くことができます。
firewall { '100 Allow http and https access':
port => [80, 443],
proto => tcp,
action => accept,
}