Назад | Перейти на главную страницу

Неверная строка параметра марионетки на брандмауэре

Используя модуль брандмауэра версии 1.9 в марионетке 3.8.7, я получаю следующую ошибку:

Ошибка 400 на сервере: недопустимая строка параметра в брандмауэре

Вот мое правило Puppet Firewall.

firewall {
"051 asterisk-set-rate-limit-register":
  string => "REGISTER sip:",
  string_algo => "bm",
  dport     => '5060',
  proto     => 'udp',
  recent    => 'set',
  rname     => 'VOIPREGISTER',
  rsource   => 'true';
"052 asterisk-drop-rate-limit-register":
  string => "REGISTER sip:",
  string_algo => "bm",
  dport     => '5060',
  proto     => 'udp',
  action    => 'drop',
  recent    => 'update',
  rseconds  => '600',
  rhitcount => '5',
  rname     => 'VOIPREGISTER',
  rsource   => true,
  rttl      => true;
}

Проблема заключается в том, что не был создан экземпляр класса брандмауэра. Я также добавил команду очистки брандмауэра, чтобы присутствовали только следующие правила. Это удобно, чтобы в брандмауэре случайно не остались дыры.

Вот код, который работает в моей системе:

class { 'firewall': }

resources { 'firewall':
    purge => true,
}

firewall { "051 asterisk-set-rate-limit-register":
    string      => "REGISTER sip:",
    string_algo => "bm",
    dport       => '5060',
    proto       => 'udp',
    recent      => 'set',
    rname       => 'VOIPREGISTER',
    rsource     => 'true';
}
firewall { "052 asterisk-drop-rate-limit-register":
    string      => "REGISTER sip:",
    string_algo => "bm",
    dport       => '5060',
    proto       => 'udp',
    action      => 'drop',
    recent      => 'update',
    rseconds    => '600',
    rhitcount   => '5',
    rname       => 'VOIPREGISTER',
    rsource     => true,
    rttl        => true;
}

ноты

Я проверил это на своей марионеточной установке с puppetlabs-firewall модуль установлен.

Успешно применено.