LINUX.ORG.RU
ФорумAdmin

Ограничить количество одновременных tcp соединений


0

0
Есть задача ограничить кол-во одновременных открытых tcp-соединений у клиентов находящихся за linux-роутером.
До меня было сделано так:
-i eth0 -p tcp -m connlimit --connlimit-above 99 --connlimit-mask 32 -j DROP

что не нравится:
периодически подскакивает load average на роутере; conntrack -F решает это.
есть мнение, что это вообще не работает.

итак, какая альтернатива connlimit есть в природе?

ограничивать кол-во SYN пакетов за единицу времени, имхо,не вариант.
>периодически подскакивает load average на роутере

la не есть абсолютный показатель.
Абсолютный показатель — тормознутость системы.

Если система реально тормозит — попробуй обновить ведро.
nnz ★★★★
()
Ответ на: комментарий от nnz
да, забыл упомянуть - система начинает действительно тормозить, т.к. пинг через роутер подскакивает с 1-2 мс, до 70-80
brumalik
() автор топика
Ответ на: комментарий от brumalik
может стоит просто подкрутить параметры tcp?
Jaizer
()
Крути сиськтльки коннтрака. Похоже, таблица состояний слишком сильно разрастается.
true_admin ★★★★★
()
Ответ на: комментарий от true_admin
ага, спасибо. почитал, покрутил. проблема похоже решена. по умолчанию стоял бешеный таймаут для tcp-сессий.
brumalik
() автор топика
Ответ на: комментарий от brumalik
1. О каком именно таймауте идет речь? tcp_keepalive_time, tcp_fin_timeout или о еще что-нибудь?
2. Что это за дистр с такими страшными дефолтными настройками?
nnz ★★★★
()
Ответ на: комментарий от nnz
речь идет о tcp_timeout_established.
на роутере стоит некая гента.
brumalik
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.