como abrir a porta 80 na caixa gerenciada com o Puppet

3

Eu tenho uma máquina virtual master de marionetes que gerencia quase 20 nós. Eu tenho o Nagios instalado em um desses nós e para que a GUI do Nagios funcione eu precisaria parar o iptables naquela caixa do nagios. O problema é que sempre que o Puppet for executado, o serviço iptables será iniciado novamente. Eu tentei adicionar um serviço no nagios modules server.pp arquivo como este que não funcionou. Ele diz que o serviço iptables já está definido e não pode ter duplicado:

service
   {
     iptables:
     ensure => stopped,

 }

Além disso, tentei usar um comando 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}",
}

Também tentei o código abaixo, mas não tive sorte:

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

Alguém por favor pode me ajudar com isso?

Obrigado antecipadamente

    
por Irina 27.03.2015 / 16:14

1 resposta

1

Em vez de desativar completamente o iptables, recomendo usar o módulo Puppetlabs Firewall para gerenciar firewalls / iptables:

$ módulo puppet install puppetlabs-firewall

Então você pode escrever um Puppet como este:

firewall { '100 Allow http and https access':
  port   => [80, 443],
  proto  => tcp,
  action => accept,
}
    
por 08.04.2015 / 14:35