Jump to content

Recommended Posts

Posted

Всем привет!

 

Тут в интернетах появилась вот какая фигня

https://github.com/medvedv/purifier

 

Представляет собой вроде как быстрый (по современным меркам) прозрачный стейтфул фаерволл, который вроде как должен помочь с ддос атаками на транспортный уровень.

 

Господа, тестируйте, набрасывайте на венти оставляйте фидбек.

Posted

У меня все сервисы живут в openvz/xen контейнерах, по этому как модуль ядра можно забыть.

Запускать на брасах/роутерах софт, который даже толком не описан, я боюсь - мало ли. Может оно загонит ось в панику. А все-таки sla нужно придерживаться.

+ у вашем посте я вижу неуверенность в работе.

Posted

у вашем посте я вижу неуверенность в работе

Да, есть такое, я вообще считаю что я довольно хреновый сетевик, да и как программист я - быдло. Ну что есть, то есть. =)

Что же касается описания, тоже ваша правда, надо бы попробовать найти время описать что же это такое, а то модули ядра всякие, тьфу, пройденный этап.

Кратко в двух словах. Приложение написано на С, использует фреймворк DPDK. С точки зрения эксплуатации представляет собой отдельный апплайнс на сети ДЦ, на который динамически заруливается трафик, котрый необходимо пофильтровать. Скалится линейно, добавляешь ядер - больше лопатишь трафика. Весь не тсп трафик проходит без обработки (в моих реалиях UDP/ICMP должны фильтроваться выше тупорылыми стейтлес фильтрами, тем же флоуспеком).

Стейтлес механизм реализовывал под впечатлением от выкуривания исходников PF, netfilter, ipfw, и самое главное - статьи Гвидо Ван Ройа. В итоге родил можно сказать свое. Стейт таблица защищена механизмом синпрокси с генерацией синкук. Врубается автоматически, в зависимости от кол-ва полуоткрытых соединений (трешолд настраивается). Работает вроде как довольно быстро, на одном тсп ядре intel xeon 1660v3 фильрую 9мппс син флуда, с сотней правил в талице фаерволла (описывается как 5tuple, только вместо точечных портов - их диапазоны, и да, правила правилам - рознь) производительность на ядро падает до 7.5 мппс, думаю вполне ок, так как с двух ядер имею лайн рейт (и да, конкурентных соединений в момент тестирования - сотни тысяч). Так же есть такая штука, как соурс трекинг (аналог PF), могу лимитировать пер срц как колличество конкурентных стейтов, так и рейт установки новых.

Posted

у вашем посте я вижу неуверенность в работе

Да, есть такое, я вообще считаю что я довольно хреновый сетевик, да и как программист я - быдло. Ну что есть, то есть. =)

Что же касается описания, тоже ваша правда, надо бы попробовать найти время описать что же это такое, а то модули ядра всякие, тьфу, пройденный этап.

Кратко в двух словах. Приложение написано на С, использует фреймворк DPDK. С точки зрения эксплуатации представляет собой отдельный апплайнс на сети ДЦ, на который динамически заруливается трафик, котрый необходимо пофильтровать. Скалится линейно, добавляешь ядер - больше лопатишь трафика. Весь не тсп трафик проходит без обработки (в моих реалиях UDP/ICMP должны фильтроваться выше тупорылыми стейтлес фильтрами, тем же флоуспеком).

Стейтлес механизм реализовывал под впечатлением от выкуривания исходников PF, netfilter, ipfw, и самое главное - статьи Гвидо Ван Ройа. В итоге родил можно сказать свое. Стейт таблица защищена механизмом синпрокси с генерацией синкук. Врубается автоматически, в зависимости от кол-ва полуоткрытых соединений (трешолд настраивается). Работает вроде как довольно быстро, на одном тсп ядре intel xeon 1660v3 фильрую 9мппс син флуда, с сотней правил в талице фаерволла (описывается как 5tuple, только вместо точечных портов - их диапазоны, и да, правила правилам - рознь) производительность на ядро падает до 7.5 мппс, думаю вполне ок, так как с двух ядер имею лайн рейт (и да, конкурентных соединений в момент тестирования - сотни тысяч). Так же есть такая штука, как соурс трекинг (аналог PF), могу лимитировать пер срц как колличество конкурентных стейтов, так и рейт установки новых.

Замечательно!

Теперь двигаемся дальше, с какими ОС совместимо, на каких ОС работает 100%. Как настраивать, где конфиг, где крутилки которые нужно крутить? Если собрать тазик и прогнать через него 40G, софт наложит кирпичей?

Posted

На данный момент совместимо с линуксом. Тут собственно ограничение в том, что пока код написан под DPDK 1.7.1, скоро надеюсь перепишу под последний стабильный релиз, и по идее должно будет запуститься под фрибсд. У меня работает на убунте 14.04 LTS. Тут возможно будет ограничение в выборе железа в связи с плотной работой с fpga сетевки. Это точно работает на ixgbe, с другими картами пока не заморачивался.

Штука в принципе работает даже без настройки. Управление через cli, сохранение/лоад конфига пока не прикрутил, есть в планах.

Поясни что значит софт наложит кирпичей? Способно ли приложение обработать 60мппс? Да, приложение скалится практически линейно, только ядра добавляй. Однако 60мппс тебе не даст прогнать сетевушка (если имеется ввиду XL710), упрется в pci.

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 и с Политикой конфиденциальности.