iptables

ЛЛ
На сайте с 12.11.2018
Offline
68
668

Здравствуйте форумчане. Возникла проблема. Как можно ограничить количество одновременных запросов к серверу? Если ставлю ограничение на порты, то один ипышник посылает запросы на все другие порты и получается очень много запросов даже с лимитом. Есть ли варианты ограничить в общем количество запросов с ип к серверу?

suffix
На сайте с 26.08.2010
Offline
329
#1
Лелуш Ламперуж :

Здравствуйте форумчане. Возникла проблема. Как можно ограничить количество одновременных запросов к серверу? Если ставлю ограничение на порты, то один ипышник посылает запросы на все другие порты и получается очень много запросов даже с лимитом. Есть ли варианты ограничить в общем количество запросов с ип к серверу?

Муторно через iptables  ибо правило нужно на каждый открытый порт:

iptables -t filter -I INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 30 --connlimit-mask 32 -j DROP

В примере ограничение на 30 одновременных подключений с одного IP на 80 порт.

Клуб любителей хрюш (https://www.babai.ru)
ЛЛ
На сайте с 12.11.2018
Offline
68
#2
suffix #:

Муторно через iptables  ибо правило нужно на каждый открытый порт:

iptables -t filter -I INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 30 --connlimit-mask 32 -j DROP

В примере ограничение на 30 одновременных подключений с одного IP на 80 порт.

У меня в основном игровые tcp порты. Проблема в том. правила работают для одного порта. 1 ип может слать кучу запросов на все порты сверх ограничения.  Даже если установлено 20 запросов в секунду. При 20 портах это 400 запросов в секунду  только с 1ип. Как это решить (

ЛЛ
На сайте с 12.11.2018
Offline
68
#3
Шото пока ничего не придумал. Видимо так просто средствами иптаблс такое не решить. Может быть можно как то объединить нужные порты в 1 и смотреть его.
M
На сайте с 17.09.2016
Offline
126
#4
iptables -t filter -I INPUT -p tcp  -m connlimit --connlimit-above 30 --connlimit-mask 32 -j DROP
ЛЛ
На сайте с 12.11.2018
Offline
68
#5
Mobiaaa #:
iptables -t filter -I INPUT -p tcp  -m connlimit --connlimit-above 30 --connlimit-mask 32 -j DROP

Разве это не будет тем-же правилом с ограничением на каждый tcp порт?

M
На сайте с 17.09.2016
Offline
126
#6
Лелуш Ламперуж #:

Разве это не будет тем-же правилом с ограничением на каждый tcp порт?

Не будет, порт не указан же в правиле

ЛЛ
На сайте с 12.11.2018
Offline
68
#7
Mobiaaa #:

Не будет, порт не указан же в правиле

интересно. попробую ваш вариант.

ЛЛ
На сайте с 12.11.2018
Offline
68
#8
Mobiaaa #:

Не будет, порт не указан же в правиле

Большое спасибо. Ваш вариант работает.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий