IPTables for high load server
Добрый день!
Задача: нужно настроить IPTables для боевого арендуемого сервера (VPS).
Нюансы: Вот здесь и здесь говорится, что для высоконагруженного сервера IPTables лучше не включать вообще (выносить на другой сервер). Причина - тормоза, которые проявляются уже при 2000 соединений в секунду, если включен механизм отслеживаний состояний (STATE: NEW, RELATED, ESTABLISHED).
Тормоза могут быть связаны с тем, что на отслеживание состояний STATE каждого соединения IPTables забирает 16 кбайт оперативной памяти (см. прим. ниже). Т.е. при 2000 sites в секунду 1 гигабайт RAM будет заполнен примерно через пол минуты (точнее - 33 секунды).
У меня не планируется такой высокой нагрузки, но хотелось бы вычислить приемлемую загрузку сервера для использования на нем IPTables.
Согласно таблицы 4.2 IPTables Tutorial 1.1.19 Oskar'a Anderson'a таймаут для состояния ESTABLISHED - 5 дней.
В связи с этим вопрос. Если рассматривать обычную ситуацию, когда клиентский браузер посылает запрос серверу, затем сервер отдает ему html, то после этого соединение остается в состоянии ESTABLISHED или же клиент его закрывает, посылая FIN/ACK или RST серверу?
Другими словами меня интересует - когда реально происходит закрытие соединения для TCP, UDP? Или еще проще - сколько времени клиент "висит" на сервере?
____________
Примечание: по руководству IPTables Tutorial 1.1.19 Oskar'a Anderson'a -
"Максимальное количество записей, которое может содержаться в таблице зависит от значения по-умолчанию, которое может быть установлено вызовом функции ipsysctl в последних версиях ядра. Для объема ОЗУ 128 Мб это значение соответствует 8192 записям, для 256 Мб - 16376. Вы можете посмотреть и изменить это значение установкой переменной /proc/sys/net/ipv4/ip_conntrack_max."
- Для комментирования войдите или зарегистрируйтесь
Вопрос с
Вопрос с шестого этажа - так ли нужна необходимость отслеживать состояния пакетов? По большому счету, от файрвола хостинга много не нужно - разрешить н-дцать портов внутрь и все наружу. Смысл заморачиваться?
_______________________
From Siberia with Love!
> Смысл
> Смысл заморачиваться?
Ну, не знаю... Конечно можно просто запретить/разрешить порты. Но я думал сделать что-нибудь по-круче - запретить сканирующие и проникающие "неправильные" пакеты, например. Еще - хоть как-то защититься от несложных DDOS-атак.