У меня есть сервер 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
Вы используете марионеточный брандмауэр?
Вы установили его с помощью:
puppet module install puppetlabs-firewall --version 1.12.0
И вы включили его:
mod 'puppetlabs-firewall', '1.12.0'
Увидев, что ваш модуль начинается с 005 Я предполагаю, что до этого вы выполнили несколько правил, вы должны опубликовать все, что связано с брандмауэром.
Согласно вашему комментарию, и проверка документация для модуля межсетевого экрана и ваши правила iptables, вы можете добавить свой набор (это -А) другим лицам, отменяющим ваши настройки.
Перечислите все свои правила с помощью iptables --list
и вставьте их в свой вопрос внутри блока кода, пожалуйста.