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

Ограничение скорости строки Puppet Firewall не работает для Asterisk

У меня есть сервер 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 и вставьте их в свой вопрос внутри блока кода, пожалуйста.