在puppet 3.8.7中使用防火墙模块版本1.9,我得到以下错误:
SERVER上的错误400:防火墙上的参数string无效
这是我的木偶防火墙规则。
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模块的木偶安装上进行了puppetlabs-firewall 。
成功应用。