LINUX.ORG.RU
решено ФорумAdmin

Iptables лимит на отправку пакетов для каждого хоста

 , , ,


0

2

Всех приветствую! Прошу помощи с настройкой iptables. Задача: нужно ограничить количество отправляемых сервером пакетов в секунду для каждого уникального хоста (ип:порт). В сетевом администрировании новичок, поэтому прошу сильно не ругать!

После небольшого изучения iptables удалось сделать следующее:

iptables -A OUTPUT -m limit --limit 25/s --limit-burst 25 -j ACCEPT
iptables -A OUTPUT -j DROP

Работает все это дело правильно, ПО не может отправлять больше 25 пакетов в секунду (протокол значения не имеет). Однако, этот лимит является «общим», т.е. если ПО работает с, к примеру, 10 юзерами, то учитывается общее кол-во отправляемых пакетов всем юзерам, а не пакеты индивидуально каждого юзера. Нужно сделать так, чтоб сервер индивидуально каждому юзеру (уникальный айпи:порт) отправлял не более 25 пакетов в секунду. Буду очень признателен, если поможете разобраться! Спасибо за внимание!

P.S. Все это настраиваю в Docker-контейнере, в котором запущено лишь 1 ПО с 1 открытым портом, поэтому правила iptables глобальные в плане протоколов.


поэтому правила iptables глобальные в плане протоколов.

Как минимум локалхост стоит добавить в исключения.

KivApple ★★★★★ ()

Нужно сделать так, чтоб сервер индивидуально каждому юзеру (уникальный айпи:порт) отправлял не более 25 пакетов в секунду.

Раз у тебя уникальный айпи то добавь в правило iptables опцию --source с нужным айпи.

avb ()
-A OUTPUT -p tcp --dport 53  -m connlimit --connlimit-above 25 --connlimit-mask 32 -j DROP

или

-A OUTPUT -m connlimit --connlimit-above 25 --connlimit-mask 32 -j DROP

Dimarius ()
Ответ на: комментарий от avb

К сожалению, IP юзеров неизвестны, поэтому я не могу так сделать.

SeecH ()
Ответ на: комментарий от Dimarius

К сожалению, connlimit не совсем то, что мне нужно. Но все равно спасибо за ответ!

SeecH ()
Ответ на: комментарий от vel

Спасибо, уже разобрался, оказалось все очень просто!

SeecH ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.