Есть сервер (основная нагрузка - http запросы, около 1500 в секунду).
При активации NAT постепенно увеличивается время отклика, после чего веб-сервер окончательно перестает отвечать.
Шеллом сидится абсолютно нормально (новый сеанс открывать не пробовал).
Замечено было в двух ситуациях:
1) Хотел настроить VPN - l2tp + IPSec. Для работы требуется NAT. После включения, даже не задавая никаких правил машина умерла.
2) захотел сделать переброс службы с одного порта на другой прозрачно для пользователя.
iptables -t nat -A PREROUTING -d XXX.XXX.XXX.XXX -p tcp --dport YYY -j REDIRECT --to-port ZZZ
NAT откомпилирован в виде модуля, соответстенно после ввода такой команды он подгружается и опять наблюдаю ту-же ситуацию -
минуты через две приходится перегружать т.к. выгрузить модули уже не дает.
Пробовал увеличивать размер различных таблиц TCP-стека - результата не заметил.
Пробовал на двух разных ядрах, первое - "родное" от slackware 12 Linux 2.6.21.5-smp,
второе собирал сам linux-2.6.29.1, в обоих случаях все работает отлично до активации NAT.
Заранее спасибо.
При активации NAT плавно дохнет сервер
Модераторы: SLEDopit, Модераторы разделов
-
danger08
- Сообщения: 715
- ОС: Linux (CentOS, Ubuntu)
Re: При активации NAT плавно дохнет сервер
Какие еще правила есть, на файрволе?
Блогосайт - http://www.fateyev.com
-
redlion
- Сообщения: 11
Re: При активации NAT плавно дохнет сервер
около 20 правил запрета "долбаков" типа
iptables -A INPUT -s xx.xx.xx.xx/24 -j DROP
с ними все работает, проблема начинается только после активации в ядре NAT
iptables -A INPUT -s xx.xx.xx.xx/24 -j DROP
с ними все работает, проблема начинается только после активации в ядре NAT
-
Frank
- Сообщения: 1059
- ОС: Ubuntu, Debian
-
danger08
- Сообщения: 715
- ОС: Linux (CentOS, Ubuntu)
Re: При активации NAT плавно дохнет сервер
Запрещаете целые подсети? о_О
Блогосайт - http://www.fateyev.com
-
ford1813
- Сообщения: 383
- ОС: Slackware
Re: При активации NAT плавно дохнет сервер
Выше написано , невнимательно читаете ))
захотел сделать переброс службы с одного порта на другой прозрачно для пользователя.
iptables -t nat -A PREROUTING -d XXX.XXX.XXX.XXX -p tcp --dport YYY -j REDIRECT --to-port ZZZ
NAT откомпилирован в виде модуля, соответстенно после ввода такой команды он подгружается и опять наблюдаю ту-же ситуацию -
минуты через две приходится перегружать т.к. выгрузить модули уже не дает.
rmmod не срабатывает?
уверены что дело в nat ?
-
redlion
- Сообщения: 11
Re: При активации NAT плавно дохнет сервер
wertik писал(а): ↑23.04.2009 13:08
Выше написано , невнимательно читаете ))
захотел сделать переброс службы с одного порта на другой прозрачно для пользователя.
iptables -t nat -A PREROUTING -d XXX.XXX.XXX.XXX -p tcp --dport YYY -j REDIRECT --to-port ZZZ
NAT откомпилирован в виде модуля, соответстенно после ввода такой команды он подгружается и опять наблюдаю ту-же ситуацию -
минуты через две приходится перегружать т.к. выгрузить модули уже не дает.
rmmod не срабатывает?
уверены что дело в nat ?
да, rmmod говорит, что модуль занять и не выгружает его даже с ключем -f.
то, что дело именно в НАТ - я не уверен, просто по всем признакам во время его активации происходит какая-то кака, которая не дает дальше нормально работать
TCP - стеку.
Не только сам модуль НАТ подгружается, а еще связанные с ним - connection tracking e.t.c.
Забыл дописать, что если убить веб-сервер, и соответственно освободить кучу подключения, сервак оживает, но после запуска веба опять умирает.
долго не экспериментировал - на сколько времени хватит при отключенном веб-сервере..
да, запрещаю. я знаю кто это - довольно крупные конторы, которые могут занимать целые подсети, скажу больше у меня есть одни уроды, у которых заблокировано 3-4 подсети. Дело не в том, что там много физических компьютеров - они адреса меняют.
-
dr-evil
- Сообщения: 159
- ОС: Fedora 18
Re: При активации NAT плавно дохнет сервер
а если включить нат без вебсервера?
тож падает?
похоже на слабоватую сетевуху
тож падает?
похоже на слабоватую сетевуху
Анализ подозрительных файлов тут
Все что вы скажете может быть использовано как баян.
Jabber-конференция: sysadmins.ru на conference.jabber.ru - всем добро пожаловать!
Все что вы скажете может быть использовано как баян.
Jabber-конференция: sysadmins.ru на conference.jabber.ru - всем добро пожаловать!
-
redlion
- Сообщения: 11
Re: При активации NAT плавно дохнет сервер
если не включен веб-сервер, то тогда и падать нечему - никто ведь новых соединений не создает
врядли Broadcom NetXtremeII можно назвать слабой сетевухой, да и без НАТ - нагрузка ведь нисколько не меньше.
Более того, я все эксперименты провожу ночью, когда посещаемость раза в два ниже, чем в топовое время.
-
redlion
- Сообщения: 11
Re: При активации NAT плавно дохнет сервер
вроде нашел я сам ответ.
Правда столько сделал действий за один раз, что уже все детали и не помню.
Пожалуй самое главное -
echo '4096 8388608 16777216'>/proc/sys/net/ipv4/tcp_mem
echo '4096 8388608 16777216'>/proc/sys/net/ipv4/tcp_rmem
echo '4096 8388608 16777216'>/proc/sys/net/ipv4/tcp_wmem
это (как мне кажется) решило проблему с умиранием машины.
так же сделал
echo 8388608 > /proc/sys/net/core/rmem_max
echo 1048576 > /proc/sys/net/core/rmem_default
echo 8388608 > /proc/sys/net/core/wmem_max
echo 1048576 > /proc/sys/net/core/wmem_default
после чего прочитал в dmesg следующие сообщения:
kernel: nf_conntrack: table full, dropping packet.
Нагуглил такую ошибку, и выяснил, что таблица отслеживаемых соединения не особо велика, а информация по ESTABLISHED соединению хранится в ней несколько дней.
Поменял значение на 10 минут, (мне кажется для НАТ и маскарада больше не надо, могу и ошибаться)
echo 600 > /proc/sys/net/netfilter/nf_conntrack_tcp_timeout_established
и увеличил размер самой таблицы
echo 262144 > /proc/sys/net/netfilter/nf_conntrack_max
Возможно используемые значения и не оптимальны, но пока возможностей тестировать более глубоко нету.
Памяти хватает, и сервер работает отлично.
Правда столько сделал действий за один раз, что уже все детали и не помню.
Пожалуй самое главное -
echo '4096 8388608 16777216'>/proc/sys/net/ipv4/tcp_mem
echo '4096 8388608 16777216'>/proc/sys/net/ipv4/tcp_rmem
echo '4096 8388608 16777216'>/proc/sys/net/ipv4/tcp_wmem
это (как мне кажется) решило проблему с умиранием машины.
так же сделал
echo 8388608 > /proc/sys/net/core/rmem_max
echo 1048576 > /proc/sys/net/core/rmem_default
echo 8388608 > /proc/sys/net/core/wmem_max
echo 1048576 > /proc/sys/net/core/wmem_default
после чего прочитал в dmesg следующие сообщения:
kernel: nf_conntrack: table full, dropping packet.
Нагуглил такую ошибку, и выяснил, что таблица отслеживаемых соединения не особо велика, а информация по ESTABLISHED соединению хранится в ней несколько дней.
Поменял значение на 10 минут, (мне кажется для НАТ и маскарада больше не надо, могу и ошибаться)
echo 600 > /proc/sys/net/netfilter/nf_conntrack_tcp_timeout_established
и увеличил размер самой таблицы
echo 262144 > /proc/sys/net/netfilter/nf_conntrack_max
Возможно используемые значения и не оптимальны, но пока возможностей тестировать более глубоко нету.
Памяти хватает, и сервер работает отлично.
-
danger08
- Сообщения: 715
- ОС: Linux (CentOS, Ubuntu)
Re: При активации NAT плавно дохнет сервер
Довольно интересное решение..
Хотя для поддержки 1500 обращений/сек, наверно, надо было ковырять в этом направлении
Блогосайт - http://www.fateyev.com
