Рейтинг:0

Как ограничить входящие пакеты UDP SIP INVITE с помощью firewalld?

флаг ru

Информация о моей системе:

Выпуск CentOS Linux 7.9.2009 (основной)
брандмауэр-cmd v0.6.3
iptables v1.4.21
Ядро 3.10.0-1160.25.1.el7.x86_64

Он работает Звездочка v18.4.0 АТС с PJSIP. Моя карьера отправляет слишком много SIP ПРИГЛАШЕНИЕ пакетов в секунду, скажем 20 звонков в секунду от их ВОС3000 программный переключатель. Большинство из них перегружены (SIP 503) на моей исходящей конечной точке (например, только 2 из 20 вызовов получают статус звонка).

Это вызывает очень высокую загрузку ЦП, поскольку я использую PHP AGI (FastAGI) при каждом входящем вызове, а также при сбросе вызова.

Теперь я хочу ограничить SIP ПРИГЛАШЕНИЕ пакеты с использованием брандмауэр. Скажем, я хочу максимум 3 INVITE в секунду; я бегу

firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT_direct 0 -p udp --dport 5060 -m string --algo bm --string "INVITE sip:" -m hashlimit --hashlimit-выше 3/ sec --hashlimit-mode dstport --hashlimit-name sip -j REJECT --reject-with icmp-port-unreachable
брандмауэр-cmd --перезагрузить

Вышеупомянутые команды успешны, но не работают. Я отправляю 20 звонков в секунду, используя SIPp с внешнего хоста, и я вижу более 900 вызовов в минуту, поступающих на мою АТС Asterisk.

Также работает tcpdump -i любой -nn icmp на сервере не отображается сообщение о недоступности ICMP для порта 5060.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.