При активации NAT плавно дохнет сервер

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

redlion
Сообщения: 11

При активации NAT плавно дохнет сервер

Сообщение redlion »

Есть сервер (основная нагрузка - 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.

Заранее спасибо.
Спасибо сказали:
Аватара пользователя
danger08
Сообщения: 715
ОС: Linux (CentOS, Ubuntu)

Re: При активации NAT плавно дохнет сервер

Сообщение danger08 »

redlion писал(а):
22.04.2009 23:49
Есть сервер (основная нагрузка - http запросы, около 1500 в секунду).
При активации NAT постепенно увеличивается время отклика, после чего веб-сервер окончательно перестает отвечать.

Какие еще правила есть, на файрволе?
Блогосайт - http://www.fateyev.com
Спасибо сказали:
redlion
Сообщения: 11

Re: При активации NAT плавно дохнет сервер

Сообщение redlion »

около 20 правил запрета "долбаков" типа
iptables -A INPUT -s xx.xx.xx.xx/24 -j DROP

с ними все работает, проблема начинается только после активации в ядре NAT
Спасибо сказали:
Аватара пользователя
Frank
Сообщения: 1059
ОС: Ubuntu, Debian

Re: При активации NAT плавно дохнет сервер

Сообщение Frank »

Как именно произвидите "активации в ядре NAT"?
Изображение
Спасибо сказали:
Аватара пользователя
danger08
Сообщения: 715
ОС: Linux (CentOS, Ubuntu)

Re: При активации NAT плавно дохнет сервер

Сообщение danger08 »

redlion писал(а):
23.04.2009 11:27
около 20 правил запрета "долбаков" типа
iptables -A INPUT -s xx.xx.xx.xx/24 -j DROP

Запрещаете целые подсети? о_О
Блогосайт - http://www.fateyev.com
Спасибо сказали:
ford1813
Сообщения: 383
ОС: Slackware

Re: При активации NAT плавно дохнет сервер

Сообщение ford1813 »

Frank писал(а):
23.04.2009 12:29
Как именно произвидите "активации в ядре NAT"?

Выше написано , невнимательно читаете ))

захотел сделать переброс службы с одного порта на другой прозрачно для пользователя.

iptables -t nat -A PREROUTING -d XXX.XXX.XXX.XXX -p tcp --dport YYY -j REDIRECT --to-port ZZZ

NAT откомпилирован в виде модуля, соответстенно после ввода такой команды он подгружается и опять наблюдаю ту-же ситуацию -
минуты через две приходится перегружать т.к. выгрузить модули уже не дает.





rmmod не срабатывает?
уверены что дело в nat ?
Контакты для связи:

E-mail: ford1813@gmail.com

Telegram: @ford1813
Спасибо сказали:
redlion
Сообщения: 11

Re: При активации NAT плавно дохнет сервер

Сообщение redlion »

wertik писал(а):
23.04.2009 13:08
Frank писал(а):
23.04.2009 12:29
Как именно произвидите "активации в ядре NAT"?

Выше написано , невнимательно читаете ))

захотел сделать переброс службы с одного порта на другой прозрачно для пользователя.

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.
Забыл дописать, что если убить веб-сервер, и соответственно освободить кучу подключения, сервак оживает, но после запуска веба опять умирает.
долго не экспериментировал - на сколько времени хватит при отключенном веб-сервере..



danger08 писал(а):
23.04.2009 13:02
redlion писал(а):
23.04.2009 11:27
около 20 правил запрета "долбаков" типа
iptables -A INPUT -s xx.xx.xx.xx/24 -j DROP

Запрещаете целые подсети? о_О

да, запрещаю. я знаю кто это - довольно крупные конторы, которые могут занимать целые подсети, скажу больше у меня есть одни уроды, у которых заблокировано 3-4 подсети. Дело не в том, что там много физических компьютеров - они адреса меняют.
Спасибо сказали:
dr-evil
Сообщения: 159
ОС: Fedora 18

Re: При активации NAT плавно дохнет сервер

Сообщение dr-evil »

а если включить нат без вебсервера?
тож падает?

похоже на слабоватую сетевуху
Анализ подозрительных файлов тут
Все что вы скажете может быть использовано как баян.
Jabber-конференция: sysadmins.ru на conference.jabber.ru - всем добро пожаловать!
Спасибо сказали:
redlion
Сообщения: 11

Re: При активации NAT плавно дохнет сервер

Сообщение redlion »

dr-evil писал(а):
23.04.2009 19:03
а если включить нат без вебсервера?
тож падает?

похоже на слабоватую сетевуху


если не включен веб-сервер, то тогда и падать нечему - никто ведь новых соединений не создает:) - основная функция данного сервера - веб.

врядли Broadcom NetXtremeII можно назвать слабой сетевухой, да и без НАТ - нагрузка ведь нисколько не меньше.

Более того, я все эксперименты провожу ночью, когда посещаемость раза в два ниже, чем в топовое время.
Спасибо сказали:
redlion
Сообщения: 11

Re: При активации NAT плавно дохнет сервер

Сообщение redlion »

вроде нашел я сам ответ.
Правда столько сделал действий за один раз, что уже все детали и не помню.

Пожалуй самое главное -
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 плавно дохнет сервер

Сообщение danger08 »

redlion писал(а):
24.04.2009 02:59
вроде нашел я сам ответ.
Правда столько сделал действий за один раз, что уже все детали и не помню.

Довольно интересное решение..
Хотя для поддержки 1500 обращений/сек, наверно, надо было ковырять в этом направлении :yes3:
Блогосайт - http://www.fateyev.com
Спасибо сказали: