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
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.