Jump to content

Recommended Posts

Posted

Есть сервер на FreeBSD 7.2

Есть задача - выжать максимальный pps. Аттака производится TCP syn пакетами по 74 байта (20tcp+20tcp.options+20ip+14ethernet+8b/10b = 100 байт).

Сетевухи em всякие разные.

 

Что посоветуете крутить, господа профессионалы?

 

ПС. по завершению внутренних тестов результаты будут выложнены в этот топик.

 

Posted

Это понятно. Да и оно по дефолту включено. Кроме етого нечего не посоветуете?

 

ПС. В принципе можно абстрагироваться от syn-flood'а и просто сосредоточиться на максимальном pps сервера на маленьких ~74байтовых пакетах. Какие могут быть рекомендации по настройке сервера?

Posted
Сервер HTTP балансер. Должен принимать HTTP запросы и проксировать дальше.
Не понятно как оно проксирует:

либо это типа haproxy которое в юзерспейс крутится, либо это pf + source hash или типа того, когда в юзерспейс ничего не приходит.

 

Ещё в PF есть synproxy как раз для таких случаев.

Posted

Тогда в чём вопрос? О том, как ограничить кол-во tcp-соединений с одного IP адреса на 80 ый порт? Нет соединения, значит пришёл мусорный пакет(если это не syn) - дропаем его.

Posted

Тогда добавляйте тазик на вход, который будет делать synproxy до хттп балансера.

 

synproxy - это когда PF сам устанавливает соединение, если оно установилось то он подключается к конечной точке и гоняет трафик.

Только в таком случае в таблице его состояний в два раза больше записей получается.

Придётся таймауты подкрутить, чтобы таблица быстрее очищалась.

Posted (edited)
Тогда в чём вопрос? О том, как ограничить кол-во tcp-соединений с одного IP адреса на 80 ый порт? Нет соединения, значит пришёл мусорный пакет(если это не syn) - дропаем его.
Вопрос в том как заставить FreeBSD принять как можно больше мусорного syn-flood трафика не влияя на работу "хороших" клиентов. Желательная пропускная способность ~1M pps на 1Gb link на вход (что близко к теоретическому максимуму в 1.25M 74х байтных пакетов)

 

Тогда добавляйте тазик на вход, который будет делать synproxy до хттп балансера.
В чём смысл отдельной сущности перед балансером, в чём сложность организации той же функциональности прямо на балансере? В прочем ладно. Как бы вы оптимизировали pps на этом самом тазике который стоит перед балансером? Edited by SaveTheRbtz
Posted

Смысл в том, что:

- на вход тазиков можно поставить не один

- распределение нагрузки проца

 

"Оптимизировать ппс" на тазике на входе не получится, если только отключить его. В такой постановке вопроса.

 

А сам сервер тюнить драйвера сетевух, лучше чтобы em от интела, тюнить количество mbuf, колличество стейтов в pf, таймауты в pf.

Под pf лучше двух ядерные процы, по заверениям местных практиков, типа е8500 с разгоном.

Включить fastforward, в некоторых случаях может помочь, но основной тюнинг всё равно в pf, ибо он фактически будет все соединения держать сам - соответственно никакого scrub, правил как можно меньше, те что будут лучше с quick делать.

 

Один сервер вряд ли прожуёт такой объём по ппс.

Posted
Смысл в том, что:

- на вход тазиков можно поставить не один

- распределение нагрузки проца

Ну мы также можем просто доставить ещё балансеров.

 

А сам сервер тюнить драйвера сетевух, лучше чтобы em от интела, тюнить количество mbuf, колличество стейтов в pf, таймауты в pf.
pf-отключён, ибо является в нашем случае боттлнеком.

Нагрузка на mbuf при синфлуде минимальна

 

 

Включить fastforward
Сервер на L3 нечего не форвардит.

 

Один сервер вряд ли прожуёт такой объём по ппс.
Пока выжали 2M pps(1 на вход + 1 на выход) на wawa'вских дровах, но на 2х линках в LACP

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.