我有一台 Ubuntu 16.04 服务器,使用 Puppet 5 和 Asterisk 14.6.0。我正在尝试实现下面链接中描述的字符串速率限制规则,但它不起作用。CLI 控制台显示快速脚本化的 REGISTER 请求。还请注意字符串参数中双引号内的单引号。
https://www.voip-info.org/asterisk-firewall-rules
这是我的傀儡清单:
firewall { "005 asterisk-set-rate-limit-register":
dport => '5060',
proto => 'udp',
recent => 'set',
rname => 'VOIPREGISTER',
string => 'REGISTER sip:',
string_algo => 'bm',
rsource => 'true';
}
firewall { "006 asterisk-drop-rate-limit-register":
dport => '5060',
proto => 'udp',
action => 'drop',
recent => 'update',
rseconds => '600',
rhitcount => '5',
rname => 'VOIPREGISTER',
rsource => true,
string => 'REGISTER sip:',
string_algo => 'bm',
rttl => true;
}
firewall { "007 asterisk-set-rate-limit-invite":
string => 'INVITE sip:',
string_algo => 'bm',
dport => '5060',
proto => 'udp',
recent => 'set',
rname => 'VOIPINVITE',
rsource => 'true';
}
firewall { "008 asterisk-drop-rate-limit-invite":
string => 'INVITE sip:',
string_algo => 'bm',
dport => '5060',
proto => 'udp',
action => 'drop',
recent => 'update',
rseconds => '600',
rhitcount => '5',
rname => 'VOIPINVITE',
rsource => true,
rttl => true;
}
这些是生成的 iptables 规则
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -p udp -m multiport --dports 5060 -m recent --set --name VOIPREGISTER --mask 255.255.255.255 --rsource -m string --string "'REGISTER sip:'" --algo bm --to 65535 -m comment --comment "005 asterisk-set-rate-limit-register"
-A INPUT -p udp -m multiport --dports 5060 -m recent --update --seconds 600 --hitcount 5 --rttl --name VOIPREGISTER --mask 255.255.255.255 --rsource -m string --string "'REGISTER sip:'" --algo bm --to 65535 -m comment --comment "006 asterisk-drop-rate-limit-register" -j DROP
-A INPUT -p udp -m multiport --dports 5060 -m recent --set --name VOIPINVITE --mask 255.255.255.255 --rsource -m string --string "'INVITE sip:'" --algo bm --to 65535 -m comment --comment "007 asterisk-set-rate-limit-invite"
-A INPUT -p udp -m multiport --dports 5060 -m recent --update --seconds 600 --hitcount 5 --rttl --name VOIPINVITE --mask 255.255.255.255 --rsource -m string --string "'INVITE sip:'" --algo bm --to 65535 -m comment --comment "008 asterisk-drop-rate-limit-invite" -j DROP
答案1
你正在使用puppet 防火墙模块?
您是否使用以下方式安装:
puppet module install puppetlabs-firewall --version 1.12.0
您是否通过以下方式启用了它:
mod 'puppetlabs-firewall', '1.12.0'
看到你的模块开始于005我猜你在此之前制定了一些规则,你应该发布与防火墙相关的所有内容。
更新
根据您的评论,并检查防火墙模块的文档和你的 iptables 规则,你可能会得到你的设置附加(这是-A)来覆盖您的设置。
请列出所有规则并将iptables --list
其粘贴到问题的代码块中。