Когда-то я тут поднимал вопрос по поводу пропуска колва пакетов в сек через линукс машину .
Сейчас я имею АМД3000+ 256 РАМ ядро 2.4.31 + патч IMQ + p-o-m
Сетевые intel e100
Вобщим все работает супер
IMQ не юзаем , p-o-m не юзаем (чуть ниже опишу)
вдруг ни с того ни с сего имеем нехилый system нагрузон на сервак (сервак только форвардит и считает трафик)
пинг до сервака 150-300 , потери 25% Однако сервак и я на 100 мбитном канале . Вобщем ахтунг.
Значит что предпринималось :
до проблемы выше описаной были какието проблемы с icmp - аля чтото типа нехватает какогото буффера бла бла бла выполнил echo 64000 > ip_conntrack_max помогло.
однако выше описаную проблему никак не решило
Думал линукс склинил/железо склинило . Очередной раз убедился что линукс не виснет и новое железо не имеет привычки так глючить ;)
Залез в ip_conntrack , а там .....
сразу бросилось в глаза
udp 17 12 src=IPKLIENT dst=85.17.15.10 sport=4012 dport=38621 [UNREPLIED] src=85.17.15.10 dst=IPKLIENT sport=38621 dport=4012 use=1 udp 17 9 src=IPKLIENT dst=85.17.15.10 sport=4012 dport=19501 [UNREPLIED] src=85.17.15.10 dst=IPKLIENT sport=19501 dport=4012 use=1 udp 17 0 src=IPKLIENT dst=85.17.15.10 sport=4012 dport=36507 [UNREPLIED] src=85.17.15.10 dst=IPKLIENT sport=36507 dport=4012 use=1
IPKLIENT один из наших клиентов .
и от него таких строк дохренища
после ребута ип_коннтраск_мак имело 16тыщ по умолчанию а когда глянул этот ип_контрак и посчитал строки то 15 с мелочью
Увеличил ип_контрак_мак в два раза до 32000 .
Не помогло . Нагрузка всеравно 100% на АМД3000+ проц .
С выше стоящим провайдером сравнил в этот момент колво пакетов - всего было примерно 1800 пакетов всекунду входящих и примерно столько же исх общего нашего трафика . Данного клиента удалось посчитать иптеблями и вышло почти 400 пакетов исх трафика .
забыл давать - клиентам режем скорость при помощи HTB и юзаем sourse роутинг при помощи iproute2 .
Я так понимаю что все это торренты .
p-o-m не помог - или блокировать полностью - ipp2p модуль - или никак . Т.е. запустить маркировку пакетов и метить ipp2p бесполезно - он не метит пакеты между ip-TO-ip , кажеться только емулл может полноценно метиться . Вобщим протестировав тот же DC++ и прикрутив IMQ - не помогло .
попробывал connlimit в свое время - другая зассада - когда начинает резать клиента то нагрузка на проц апупенительная , 90%. Пробывал в цепочке FORWARD . И так же не достаток - только tcp трафик . Забросил эту идею заюзать pom.
Помогите , как мне быть - пока у меня зарезана народу только скорость . Но учитывая такое повоедение горе клиентов нужно в срочном порядке искать метод ограниченоя количества одновременных сессий . Как можно ограничить ЛЮБЫЕ сессие клиента ? Дабы он имел возможность одновременно гнать только скажем 50 сессий ? Не важно что это tcp или udp . И как , какую строчку нужно добавить в iptables и как оттюнинговать /proc/sys/net/ipv4 что бы в будущем не возникало таких аномалий даже не ограничивая злосчастные сессии одновременно . Так как я понял все это боком вышло на моей амдешке . А провайдерскомму рутеру на 266 пне 2 все было пофигу . Хотя он только и форвардит траф с интерфейса на интерфейс как и наш внутренний сервер .
Вот схема :
-клиенты -> внутренний гейтвей -> АМД300+ ->интернет рутер -я --------------|
Все на 100 мбитах .
Затык именно на АМД3000 был .
Вот такая проблема :(