The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Началась работа над обновленной реализацией ipfw для FreeBSD

26.04.2012 10:27

Вадим Гончаров сообщил в своем блоге о начале работ над ipfw ng - обновленной реализацией пакетного фильтра ipfw для FreeBSD.

Основные задачи проекта:

  • Не переписывание всего ipfw с нуля, а улучшение и оптимизация текущей реализации;
  • Введение поддержки множественных наборов правил (multiple rulesets - аналог Cisco ACLs), которые позволят задавать отдельные наборы правил для разных интерфейсов и входящих/исходящих пакетов);
  • Новая реализация динамических правил с унифицированной системой отслеживания состояния соединений;
  • Поддержка модулей фильтрации уровня ядра и уровня пользователя;
  • Более тесная интеграция с netgraph. В частности, каждый набор правил будет отдельным узлом netgraph, который можно будет привязать куда угодно.


  1. Главная ссылка к новости (http://nuclight.livejournal.co...)
Автор новости: Анонимз
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/33700-freebsd
Ключевые слова: freebsd, ipfw
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (48) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 11:50, 26/04/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +16 +/
    >>В честь 26 годовщины 26 апреля уволился с текущей работы и таки наконец начал проект http://wiki.freebsd.org/IpfwNg

    Уважаю человека, все делает ради FreeBSD.

     
     
  • 2.17, Аноним (-), 14:33, 26/04/2012 [^] [^^] [^^^] [ответить]  
  • –4 +/
    26 апреля? Ах да, 1986 год. Оптимистичное начало...
     

  • 1.2, Аноним (2), 11:53, 26/04/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Еще бы писали оценочное время, сколько требуется хотя бы для выпуска бета-релиза.
     
     
  • 2.14, oops (ok), 13:42, 26/04/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    это вы о чем? какое оценочное время? ему ж не грант выделили, это энтузиазм.
     

  • 1.3, анон (?), 12:19, 26/04/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –7 +/
    В этом вашем ipfw dnat как был гемороем, так и остался?
     
     
  • 2.5, Анонимз (?), 12:29, 26/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    В чем проблеиа с dnat?
    Лимит на количество redirect_port? Лимит давно уже починили.
     
     
  • 3.21, анон (?), 16:23, 26/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    В том же iptables, чтобы пробросить порт нужно только правило. А сколько нужно телодвижений в ipfw?
     
     
  • 4.23, nuclight (ok), 17:03, 26/04/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вот за этим, в том числе, проект и начат.
     
     
  • 5.25, ragus (ok), 19:30, 26/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Вот за этим, в том числе, проект и начат.

    кастую ipfw в качестве ноды netgraph!!!! =)

     
     
  • 6.28, nuclight (ok), 22:06, 26/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    А ссылко прочитать? Это и будет.
     
  • 4.29, light (??), 22:26, 26/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    какое же? )))
    мне потребовалось три, и то перестало работать после добавления еще одного ипа на интерфейс
    на фре есть просто ipnat с простейшим текстовым конфигом
     
     
  • 5.43, ragus (ok), 13:43, 27/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > какое же? )))
    > мне потребовалось три, и то перестало работать после добавления еще одного ипа
    > на интерфейс

    правило в студию.

    > на фре есть просто ipnat с простейшим текстовым конфигом

    оно давно уже плохо пахнет.

     
     
  • 6.46, light (??), 14:58, 27/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    :~# iptables -nL -t nat
    Chain PREROUTING (policy ACCEPT)
    target     prot opt source               destination        
    DNAT       tcp  --  0.0.0.0/0            100.100.100.254     tcp dpt:2022 to:10.122.1.3:22

    * * * * * * *

    Chain POSTROUTING (policy ACCEPT)
    target     prot opt source               destination        
    SNAT       tcp  --  10.122.1.3           0.0.0.0/0           tcp spt:22 to:100.100.100.254:2022
    SNAT       tcp  --  0.0.0.0/0            10.122.1.3          tcp dpt:22 to:100.100.100.254


    до добавления второго ипа на интерфейсе 100.100.100.254 работало
    всякие эксперименты найденные через гугл в виде одной, двух строк - не работали однозначно

     
     
  • 7.47, ragus (ok), 16:07, 27/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > :~# iptables -nL -t nat

    лучше выхлоп iptables-save

     
     
  • 8.49, light (??), 23:13, 28/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    iptables-save не юзаю по привычке с фри закидываю правила в файл, в котором перв... текст свёрнут, показать
     
     
  • 9.50, ragus (ok), 23:19, 28/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    ну и зря потому как iptables-save iptables-restore атомарны кроме того, выгруж... текст свёрнут, показать
     
  • 8.51, light (??), 23:20, 28/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    снос а в файле оно выглядит так - sbin iptables -I PREROUTING -i eth0 -d 100 ... текст свёрнут, показать
     
     
  • 9.52, ragus (ok), 23:28, 28/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    а что за -t nat если вы так указываете так таблицу, то в man iptables соверше... текст свёрнут, показать
     
  • 9.53, ragus (ok), 23:34, 28/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    и достаточно было всего 1 правила sbin iptables -t nat -A PREROUTING -d 100 10... текст свёрнут, показать
     
  • 4.32, alex_tesla (?), 04:52, 27/04/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    У меня ядро собрано с "options IPFIREWALL_NAT", поэтому проброс порта (или портов) выполняется одним правилом. Например:
    ${FwCMD} nat 5 config log redirect_port tcp ${PPTPServer}:pptp ${VirtualServer}:pptp
     
  • 4.48, Ян Злобин (ok), 07:27, 28/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > В том же iptables, чтобы пробросить порт нужно только правило. А сколько нужно телодвижений в ipfw?

    Ты не проверишь, одно.

     

  • 1.4, StreamThreader (ok), 12:21, 26/04/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Главное что бы к нему мануалы были понятные!
     
  • 1.6, Аноним (-), 12:30, 26/04/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Расскажите пожалуйста, чем оно лучше/хуже PF? И зачем конкуренция внутри базовой системы?
     
     
  • 2.7, Анонимз (?), 12:33, 26/04/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    пф портируют, а ipfw родной.
    ipfw быстрей работает и интегрируем с netgraph.
     
  • 2.8, Аноним (-), 12:48, 26/04/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Расскажите пожалуйста, чем оно лучше/хуже PF? И зачем конкуренция внутри базовой системы?

    pf не параллелится.

     
  • 2.10, Олег (??), 12:52, 26/04/2012 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Раньше тоже пользовали PF, пока не возросли нагрузки. При сегодняшних скоростях и типах трафика неродной PF уже не справляется. ALTQ - отдельная пестня, как он теряет пакеты на шейпинге-не передать словами. ng_car даёт ему 100 очков вперед. Вообще связка ipfw и ng - невероятно гибкая и очень мощная.
    С некоторого времени мы делаем авторизаторы и маршрутизаторы и шейперы на машинках на базе inetl atom - мега зашибись, себя оправдывает over9000. Стоит 10-15к, не греется не шумит, грузится с флешки с nanobsd, очень практично и удобно. Габариты мелкие. Супер.
    И каждый такой ящичек обслуживает 500-1000 клиентов одновременно, шейпит, натит, роутит, авторизует по единому радиусу. При этом даже не грузится ничуть.
     
     
  • 3.19, Аноним (-), 15:31, 26/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Просто сказка какая то, а сколько килопакетов в секунду пропускает это чудо?
     
     
  • 4.20, Олег (??), 15:35, 26/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Просто сказка какая то, а сколько килопакетов в секунду пропускает это чудо?

    50-60к. Ну это то, что я видел на одном из них. А что, там несколько процессоров, ipfw хорошо с smp работает, отличная машинка.
    Ну вот у нас около 10 таких машинок, да, где то до 10к пользователей бывает. Ну pps можно сказать суммарный где то поллимона и больше.
    Такие дела.


     
     
  • 5.24, Аноним (-), 17:13, 26/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > 50-60к.

    Столько роутер за 1000 рублей спокойно прожует. А у вас - 10-15 тысяч выходит? Почти цыско какое-то прямо.

     
     
  • 6.34, анон (?), 06:56, 27/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    С шейпером и радиусами?
     
  • 6.40, Олег (??), 10:50, 27/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >> 50-60к.
    > Столько роутер за 1000 рублей спокойно прожует. А у вас - 10-15
    > тысяч выходит? Почти цыско какое-то прямо.

    Прошу прощения, наврал. Мы их не покупаем оказывается сборными, готовыми, а сами делаем. Материнка с процом + корпус выходит 4к рублей. 10-15 это стоит такой же, но фирменной сборки asus например. Не, мы оказывается сами заказываем и собираем.
    Такие дела.

     
  • 5.54, Dyr (??), 09:10, 05/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Ой как не верится мне что-то. У меня стоит пара серверов на Атоме под те же задачи, пропускает порядка 400 клиентов и 20-30 кппс, но загрузка проца сетёвкой порядка 80% при этом.
     
  • 3.22, artemrts (ok), 16:28, 26/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Шо вы там такое настраиваете, шо оно у вас тормозит? (С)

    Как-то виндовый админ на ISA-server подтянул патчик, который отрубал сетевой интерфейс. Пока разбирался в чем проблема, на десктопном серваке Celeron 2.1GHZ, который выступал в качестве тестового, быстренько подымается роутер на PF, тогда еще 4.1, настраивается НАТ, фильтрация и т.д. Пятница, после обеда, народ уже не работает, а тупо висит в инете... Компов до 600 будет. Подробностей загрузки роутера не помню - давно было, но idle ниже 75 не опускался.

     
     
  • 4.26, ragus (ok), 19:36, 26/04/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Шо вы там такое настраиваете, шо оно у вас тормозит? (С)

    http://forum.nag.ru/forum/index.php?showtopic=47497
    http://habrahabr.ru/post/111580/#comment_3560901
    http://habrahabr.ru/post/82656/#comment_2456000

    "pf — это вообще файрволл для домохозяек. :-) Если надо побыстрому выпустить в инет офис и есть время только для написания двух строчек — альтернативы pf отсутствуют. :-) Но для серьезного провайдинга — это все фигня. К тому же он на несколько процессоров не раскладывается до сих пор по-моему…
    В общем, мой вам совет — откажитесь от pf и перейдите полностью на ipfw. Серверу сильно полегчает и избавитесь от костылей (от тех же дополнительных прокси для активного FTP)."

     
     
  • 5.44, artemrts (ok), 14:05, 27/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >[оверквотинг удален]
    > http://habrahabr.ru/post/111580/#comment_3560901
    > http://habrahabr.ru/post/82656/#comment_2456000
    > "pf — это вообще файрволл для домохозяек. :-) Если надо побыстрому выпустить
    > в инет офис и есть время только для написания двух строчек
    > — альтернативы pf отсутствуют. :-) Но для серьезного провайдинга — это
    > все фигня. К тому же он на несколько процессоров не раскладывается
    > до сих пор по-моему…
    > В общем, мой вам совет — откажитесь от pf и перейдите полностью
    > на ipfw. Серверу сильно полегчает и избавитесь от костылей (от тех
    > же дополнительных прокси для активного FTP)."

    А вы опять спорите о разных продуктах для разных задач?... Это то же самое, что сравнивать километры и килограммы.
    А по-поводу "для домохозяек". Три физ. интерфейса. Есть еще три gif-IPsec туннеля, mpd-интерфейсы, правила для которых через up\down скрипты, ну и ессно openvpn. И всем этим нормально рулит pf. И да, еще НАТ для сети за роутером.
    А вот если вы инетом, извините, барыжничаете (ну так тыщи полторы-две активных pppoe сессий) то тут конечно ipfw вне конкуренции, а если учесть, что в 10-ке еще и diffuse должен появиться, то вообще супер.
    И хватит на тему pf - го*но, ipfw - все наше.

     
     
  • 6.45, ragus (ok), 14:36, 27/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >>[оверквотинг удален]
    >> "pf — это вообще файрволл для домохозяек. :-) Если надо побыстрому выпустить
    >> в инет офис и есть время только для написания двух строчек
    >> — альтернативы pf отсутствуют. :-)
    > А вы опять спорите о разных продуктах для разных задач?...

    вы решили выступить в роли Капитана Очевидность? Выше написано, что они для разных задач.

    > А по-поводу "для домохозяек". Три физ. интерфейса. Есть еще три gif-IPsec туннеля,
    > mpd-интерфейсы, правила для которых через up\down скрипты, ну и ессно openvpn.
    > И всем этим нормально рулит pf. И да, еще НАТ для
    > сети за роутером.

    я очень рад за вас. только что вы этим хотите сказать? вы хотите опровергнуть или подтвердить мой тезис?

    >  А вот если вы инетом, извините, барыжничаете (ну так тыщи полторы-две
    > активных pppoe сессий) то тут конечно ipfw вне конкуренции, а если
    > учесть, что в 10-ке еще и diffuse должен появиться, то вообще
    > супер.

    1)причём тут diffuse?
    2)почему именно ipfw?

    > И хватит на тему pf - го*но, ipfw - все наше.

    новость о:
    1)имеющихся проблемах/сложностях в ipfw
    2)возможностях, которые хотелось бы иметь
    3)вариантах решения п.1 и достижения п.2
    4)создании универсального решения, одинаково хорошо подходящего для любых задач.

     
  • 2.12, Max (??), 13:29, 26/04/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    gre много раз ваш pf умеет без костылей?
     
     
  • 3.55, Dyr (??), 09:11, 05/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > gre много раз ваш pf умеет без костылей?

    Да.
    Достаточно сделать allow gre no state

     
  • 2.13, metallic (ok), 13:40, 26/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    PBR во фре на PF нормально не сделать
     
  • 2.27, terr0rist (ok), 20:46, 26/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > зачем конкуренция внутри базовой системы?

    конкуренция - это всегда хорошо. Это прежде всего ваш выбор.
    Впрочем, именно тут речь не о конкуренции, а о разных нишах.
    PF - для "ленивых". Или, как правильно сказано выше, для домохозяек. Быстро настроил и в путь. Это его главное преимущество. Всё остальное (почти) - преимущества IPFW.

     

  • 1.9, Аноним (-), 12:50, 26/04/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    О! Давно ждал этого от Вадима, все думал свершится или нет, пожелаем ему удачи.
     
  • 1.11, artemrts (ok), 12:55, 26/04/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Этот парень (нуклайт который) все к нетграф тянет...

    > Поддержка модулей фильтрации уровня ядра и уровня пользователя;

    А это неплохо звучит.

     
  • 1.15, Аноним (-), 14:19, 26/04/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    пайпы модулем грузить-бы...
     
     
  • 2.18, Анонимз (?), 14:44, 26/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    /etc/rc.conf
    dummynet_enable="YES"

    ?

     

  • 1.16, Аноним (-), 14:31, 26/04/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    нуклайту респект и уважуха!
     
  • 1.30, light (??), 22:30, 26/04/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >> Введение поддержки множественных наборов правил (multiple rulesets - аналог Cisco ACLs)

    разве ipfw list это не то же самое? (точнее даже лучше какой то ущербной цыски)

     
     
  • 2.31, ragus (ok), 00:32, 27/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >>> Введение поддержки множественных наборов правил (multiple rulesets - аналог Cisco ACLs)
    > разве ipfw list это не то же самое? (точнее даже лучше какой
    > то ущербной цыски)

    нет. речь идёт о возможности иметь несколько наборов правил ipfw и выбирать, кто из них будет активным в данный момент.

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

    Вынесение ipfw в ноду netgraph имеет много всяких приятных плюшек:

    1)можно иметь хоть per interface набор правил.
    2)можно скрестить с mpd и правила вливать per user

     
     
  • 3.41, Артм (?), 10:54, 27/04/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > нет. речь идёт о возможности иметь несколько наборов правил ipfw и выбирать,
    > кто из них будет активным в данный момент.

    Нет. Это и сейчас есть. Речь идет о том, что бы можно было написать так:
    ipfw add all from me to any ruseset myrules

    То есть что бы можно было применить рульсет какой то к конкретным пакетам. Щас можно ставить один из нескольких рульсетов активным.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру