Модуль puppetlabs-брандмауэра установки

MRTG также сделан для задачи, но немного более включен для установки: http://oss.oetiker.ch/mrtg/

1
задан 14 January 2013 в 02:18
1 ответ

Чтобы полностью понять как работает модуль, смотрите в $ module_path / firewall / lib / puppet / {type | proider} / * Все это написано на Ruby. Даже если вы не знаете язык, его довольно просто интерпретировать.

Как упоминалось в комментарии, дополнительный код в вашем манифесте - это работа, чтобы модуль работал правильно. Я предполагаю, что у них была проблема с реализацией всего кода непосредственно в типе / поставщике через ruby. Имеет смысл использовать функциональность по умолчанию iptables-save , потому что намного проще перезагрузить настройки брандмауэра после перезапуска, и это работает для большинства популярных дистрибутивов Linux.

Даже если вы скопируете / вставите этот код, он не повлияет на вашу текущую конфигурацию, пока вы не используете тип ресурса в узле по умолчанию или в конфигурации узла. Для целей тестирования включите этот код прямо в узел тестирования. Должен дать такой же результат. Пример выше:

    Firewall {
      notify => Exec["persist-firewall"],
      before  => Class['my_fw::post'],
      require => Class['my_fw::pre'],
    }

    Firewallchain {
      notify  => Exec['persist-firewall'],
    }

    resources { "firewall":
      purge => true
    }

    firewall { '100 ssh 22':
      port => '22',
      proto => 'tcp',
      action => 'accept',
    }

    firewall { '100 www 80':
      port => '80',
      proto => 'tcp',
      action => 'accept',
    }

    firewall { '100 sql 5436':
      port => '5436',
      proto => 'tcp',
      action => 'accept',
    }

    firewall { '100 sql 5438':
      port => '5438',
      proto => 'tcp',
      action => 'accept',
    }

    firewall { '100 sql 5440':
      port => '5440',
      proto => 'tcp',
      action => 'accept',
    }

    exec { "persist-firewall":
      command => $operatingsystem ? {
        "debian" => "/sbin/iptables-save > /etc/iptables/rules.v4",
        /(RedHat|CentOS)/ => "/sbin/iptables-save > /etc/sysconfig/iptables",
      },
      refreshonly => 'true',
    }

В этом примере я разрешаю 22, 80. 5436, 5438 ВХОДЯЩЕЕ TCP-соединение.

0
ответ дан 4 December 2019 в 09:27

Теги

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