В рамках проекта NetBSD разработан (http://mail-index.netbsd.org/netbsd-announce/2010/09/13/msg0... новый пакетный фильтр NPF, вобравший в себя лучшие черты ранее присутствующих в NetBSD систем PF и IP Filter. Главными критериями при разработке NPF выступали: обеспечение высокой производительности на многопроцессорных системах и легкость разработки дополнений, расширяющих базовую функциональность. Отличительной и уникальной чертой нового пакетного фильтра является использование интерпретатора байткода в движке инспектирования пакетов.
Основные возможности NPF:- Изначальная поддержка обработки пакетов в многопоточном режиме и минимизация блокировок в коде. NPF отлично масштабируется на многопроцессорных системах, в отличие от PF, в котором используется однопоточный режим работы.
- Использование эффективных хэш-таблиц и красно-черных деревьев (http://ru.wikipedia.org/wiki/%D0%9A%D1%8......
URL: http://www.netbsd.org/changes/#npf
Новость: http://www.opennet.me/opennews/art.shtml?num=27955
все передовые технологии всегда сначала появлялись в NetBSD, а потом уже в другие системы плавно перекочевывали. Достаточно вспомнить USB и IPv6!
не перекочевали, а были разработаны. Примеры ваши из 90-х годов, устарели.USB3 раньше всех в Линуксе появилось. http://sarah.thesharps.us/2009-06-07-20-00.cherry
Мы все железками меряемся или качеством системы?
"Я ее все же ..., как матерый фряшник. Дью тему под вин7 не оценила, я снес. Но, ..., убунта (да и весь линукс, наверное) — это вещь настолько нелогичная, что просто оторопь. Какого ... апт устанавливает зависимости когда не надо, а когда надо — приходится собирать xorg по кусочкам (я краем уха еще слашал про авторемув, но судя по тому, что он мне показывает — это полярный лис)? Какого ... пакеты xorg называются xserver-xorg-чо-то-там, вместо нормальных имен? Блджад, это в каждом шаге, в каждой ... мелочи, в скорости движения и мигания курсора в консоли. Поэтому я выбираю фрю. Там если система говорит тебе, что она в тупике — то и ты с ней в тупике. Не возникает вопроса — ... ..., я все сделал как надо, а ты ... не работаешь. Когда линукс говорит, что что-то не так — ..., да все так должно быть!! Наверное, сказалось то, что фрю писали акатемики, потому что любят ее, а линукс — студенты, потому что ненавидят майкрософт (перефразируя Тео)."
http://juick.com/rapture/899260
Подотрите слюну. И плачьтесь отныне в жилетку своим друзьям-фряшникам.
"У меня сложилось впечатление, что BSD-сообщество, в целом, понимает Linux лучше, чем Linux-сообщество понимает BSD." (c) http://habrahabr.ru/blogs/bsdelniki/31430/#comment_450686Вообще, почитайте коменты тут: http://habrahabr.ru/blogs/bsdelniki/31430
Да, скажете Вы, Linux "круче", но все же подумайте, кто говорит за Вас? То что Вы так и не осилили нормально разобраться в Bsd или злость что линукс недогняет по качеству кода и разработки?
> злость что линукс недогняет по качеству кода и разработки?
>тоньше троллить надо, тоньше.. --- этого не кормить - толстоват однака
> "У меня сложилось впечатление, что BSD-сообщество, в целом, понимает Linux лучше, чем Linux-сообщество понимает BSD." (c) http://habrahabr.ru/blogs/bsdelniki/31430/#comment_450686Ну это смотря что именно понимать под термином сообщество в данном случае. Если, допустим, активных разработчиков, то утверждение скорее неверное. Я слабо себе представляю системного программиста, который бы в приемлемой степени не разбирался и в той и в другой системе. Вне зависимости от того, под какой из них происходит его основная жизнедеятельность и работа. Если же под сообществом понимать конечных пользователей, то все верно и это совершенно не удивительно. Достаточно прикинуть пусть даже на глаз, сколько людей пользуются BSD а сколько Linux. Это примерно как сравнивать пользовательскую базу Linux и MS Windows.
В плане идиотизма путей установки ПО из пакетов, я с вами согласен. В остальном все, что вы написали, иначе как бредом не назовешь. И вот тут меня берет оторопь, когда подумаю, что людей с мыслями, как у вас, много.
Спешу напомнить про http://www.opennet.me/openforum/vsluhforumID3/50862.html
>все передовые технологии всегда сначала появлялись в NetBSD,Как-то больно оптимистично и ангажированно. А что, сделать более-менее нормальный нат для ipv4 в 2010 году, когда пора уже на ipv6 вообще переходить - это и есть ваши "передовые технологии"? oO
>Как-то больно оптимистично и ангажированно. А что, сделать более-менее нормальный нат для
>ipv4 в 2010 году, когда пора уже на ipv6 вообще переходить
>- это и есть ваши "передовые технологии"? oOСудя по тому, что нат был указан в списке основных возможностей, а не "передовых новшеств", у Вас имеются некоторые когнитивные проблемы. Рекомендую http://www.do.ektu.kz/s_help_stud/memory.htm
Вы что-то перепутали, сэр. Здесь не форум по медицине, психологии и прочая. Следовательно, когнитивные проблемы есть не только у меня, но и у вас. А раз так - объективность и нейтральность ваших диагнозов под большим вопросом.
>Вы что-то перепутали, сэр. Здесь не форум по медицине, психологии и прочая.
>Следовательно, когнитивные проблемы есть не только у меня, но и у
>вас. А раз так - объективность и нейтральность ваших диагнозов под
>большим вопросом.У Вас логическая ошибка - из того, что здесь не медицинский форум, не следует, что я не могу поставить диагноз. Из неё можно сделать вывод, что проблемы и с мышлением. А в таком случае, видимо, придется написать более развернуто:
Моё сообщение как бы намекает - Ваше было неуместным ввиду ошибочного прочтения поста. Но ведь критика должна быть конструктивной, правда? Критикуя - предлагай. Вот я и предложил вариант решения проблемы, и уже не моя вина, что лежит оно за пределами IT.
>>все передовые технологии всегда сначала появлялись в NetBSD,
>
>Как-то больно оптимистично и ангажированно. А что, сделать более-менее нормальный нат для
>ipv4 в 2010 году, когда пора уже на ipv6 вообще переходить
>- это и есть ваши "передовые технологии"? oOА ибо NAT для IPv6 нах не нужен, это во-первых. :) А во-вторых, хорошо работающий NAT для IPv4 дорогого стоит: чтобы масштабировался на SMP, умел нормально пропускать GRE и FTP и при этом не жрал много ресурсов и держал многа-многа сессий...
Молодцы, и все тут! Снимаю шляпу!
Больше фильтров разных и вкусных!
Ждём во фрях!
Вполне реально, у Free и Net общий интерфейс для пакетных фильтров pfil(9) поэтому наверное не так сложно портировать. Нашлись бы заинтересованные лица.
Наверное, сами разработчики NetBSD в этом заинтересованы - FreeBSD всё таки более популярная система, а лишние тестеры их фильтру не помешают.
Ну вот как доделают, как обкатают, как запустят в production, как потом перепишут три раза - там и будут уже лавры и аплодисменты :)
>
>Ну вот как доделают, как обкатают, как запустят в production, как потом
>перепишут три раза - там и будут уже лавры и аплодисменты
>:)вы путаете стиль разработки *bsd с линуксовым. Тут совт пишут не студенты в свободное время, а докторат да профессура. Написано один раз, работает всегда. Концепция правильная сразу выходит из под пера.
>вы путаете стиль разработки *bsd с линуксовым. Тут совт пишут не студенты
>в свободное время, а докторат да профессура. Написано один раз, работает
>всегда. Концепция правильная сразу выходит из под пера.Первое предложение - правда. Остальное - бред сивой кобылы, уж не обижайтесь.
Это правда, что все нововведения в BSD проходят довольно тщательную проверку(хоть и бывают косяки), поскольку система разработки централизованная. Это улучшает качество ПО, но новые версии программ, патчи на ядро выходят медленнее. А по наличию новых драйверов и возможностей системы, BSD системы отстают от линукса.
В линуксе же система децентрализованная, что, несомненно, ускоряет появление нововведений, но влечет за собой массу проблем с работоспособностью. Но линукс тут надеется на пользователей, которые должны быть достаточно умны, чтобы не просто плакаться, а отправлять багрепорты. Проблемы быстро исправят и новая версия ПО будет радовать...новыми багами(шутка).BSD софт пишут доктора и профессура? Вы столько свободных профессоров не найдете. Кстати, большинство программ подписано в исходникам, так что вы без труда можете узнать авторство, чтобы больше не пороть чушь.
>вы путаете стиль разработки *bsd с линуксовым. Тут совт пишут не студенты
>в свободное время,Да, интересные студенты. В интелях там всяких с айбиэмами и редхатами особенно. И, кстати, у студентов есть плюс: их мозг еще не заржавел и не мыслит шаблонами. Поэтому студенты делают порой что-то новое и интересное. И работающее. А хоть и не идеальное с точки зрения академиков.
>а докторат да профессура.
Да, а мистер Таненбаум уже сколько там лет толкает что микроядра - рулят? Ну и хренли вы его не слушаете и цепляетесь за какие-то там бзди вместо того чтобы вкалывать над расово^W академически правильной концепцией микроядер? А то чего он 20 лет из опы вылезти не может? Только недавно к своей системе виртуальную память блин прикрутил. По вашей логике вы должны бы тогда юзать что-то типа миникса. Хотя для бздунов двойные стандарты это нормально :)))
>
>А то чего он 20 лет из опы вылезти
>не может?В таком тоне говорить о Таненбауме может лишь свинья.
>Да, а мистер Таненбаум уже сколько там лет толкает что микроядра -
>рулят? Ну и хренли вы его не слушаете и цепляетесь за
>какие-то там бзди вместо того чтобы вкалывать над расово^W академически правильной
>концепцией микроядер? А то чего он 20 лет из опы вылезти
>не может? Только недавно к своей системе виртуальную память блин прикрутил.
>По вашей логике вы должны бы тогда юзать что-то типа миникса.
>Хотя для бздунов двойные стандарты это нормально :)))Да, не уважение к Таненбауму пугает. Его система, это как-раз та самая криативная идея, о которой вы выше распространялись, причем она очень даже достойна жизни, пускай не на десктопах (в силу больших накладных расходов), но на ядерных реакторах уж точно. *BSD-шники просто знают, что есть что-то кроме *BSD, и не пытаются свою систему пихать в каждую дырку, в отличии от линуксойдов.
соглашусь с sergem в том, что не стоит переходить на личности. чем Вам не угодил Танэнбаум?
ну а микроядра не так уже и плохи - QNX или Symbian (только там вроде бы нано- или экзоядро)
Интересно в плане многопоточности, чего так не хватает PF.
>Интересно в плане многопоточности, чего так не хватает PF.pf ужасен. просто кошмарен, сваливали с него на ipfw (и компания), потому что оно в связве с altq несчадно тормозит и теряет пакеты.
>>Интересно в плане многопоточности, чего так не хватает PF.
>
>pf ужасен. просто кошмарен, сваливали с него на ipfw (и компания), потому
>что оно в связве с altq несчадно тормозит и теряет пакеты.
>Ну это вы зря так категоричны. ОН очень хороший фаер, но выгоды от него на многопроцессорных системах не очень много,если можно так выразится.
Точнее сказать, что выгоды на многопроцессорных системах от PF нет ВОВСЕ. Он однопоточный полностью, увы.
Хотя как фильтр он действительно весьма хорош.
Это просто отлично.
NAT и шейперы возможно переедут на NetBSD. :)
Сейчас как только приближаюсь к 500-600М in плюс 300-400 out, так и приходится ставить еще один тазик.
>Сейчас как только приближаюсь к 500-600М in плюс 300-400 out, так и приходится ставить еще один тазик.Это ж сколько юзеров???
>Это просто отлично.
>NAT и шейперы возможно переедут на NetBSD. :)
>Сейчас как только приближаюсь к 500-600М in плюс 300-400 out, так и
>приходится ставить еще один тазик.Мегабиты пофиг, количество сессий и pps, вот что обычно интересно.
я ликую и жду с нетерпением. отличная новость.
PF хорош, но продвинутой работы с пакетами действительно не хватало.
Надеюсь портировано будет по традиции на все ветви *BSD, а даже если и нет то в худшем случае переплыву с Free* на Net* все равно там все схоже, это будет того стоить.
Жаль под линуксом нет PF.
В Линуксе есть iptables для фильтрации, и tc для шейпа. И нет зоопарка из всяко-разно фильтров
>В Линуксе есть iptables для фильтрации, и tc для шейпа. И нет
>зоопарка из всяко-разно фильтровНу, вообще говоря, попытки сделать зоопарк - есть. Тут вон кто-то ссыль кидал :). Но вообще - да, оно работает, умеет дофига всего и пока у некоторых в 2011 году может быть, что-то там, когда-то будет, это уже сегодня работает и делает свое дело.
>В Линуксе есть iptables для фильтрации, и tc для шейпа. И нет
>зоопарка из всяко-разно фильтровКто бы говорил про зоопарк? Сколько там разных ОС на линуксе есть? Или ваш метод - две утилиты в зоопарке ОС с разным %-ым содержанием.
да разве ж это зоопарк? когда pf годен для однопроцессорной тачиле, а если у вас минога их - используй ipfw. типа того.
>В Линуксе есть iptables для фильтрации, и tc для шейпа. И нет
>зоопарка из всяко-разно фильтровГГГ. Линукс уже научился делать шейпинг так:
==
$ipfw add $shapers_rulenum queue tablearg all from any to 'table(4)' xmit $lan_nic // Incoming traffic shaping
$ipfw add $shapers_rulenum queue tablearg all from 'table(5)' to any xmit $gw_nic // Outgoing traffic shaping
======
03000 queue tablearg ip from any to table(4) xmit vlan3050 // Incoming traffic shaping
03000 queue tablearg ip from table(5) to any xmit em0 // Outgoing traffic shaping
===И раздавать шейп маской?
==
/sbin/ipfw -q pipe 20 config bw 1126Kb/s mask dst-ip 0xFFFFFFFF
==
А как это будет выглядеть если понадобится не тупой шейпинг, а развитая иерархическия классов трафика ? В которой например один класс с выделенной полосой пропускания и несколько классов, разделяющих общую полосу.
>А как это будет выглядеть если понадобится не тупой шейпинг, а развитая
>иерархическия классов трафика ? В которой например один класс с выделенной
>полосой пропускания и несколько классов, разделяющих общую полосу.Сложнее будет выглядеть, но по прежнему легче, чем в tc. В dummynet есть FIFO, WF2Q+, RR и QFQ: http://www.freebsd.org/cgi/man.cgi?query=ipfw&sektion=8&apro... с их помощью как раз можно сделать несколько классов. Более того, в вышеприведённом мною примере шейпы как раз сделаны именно с возможностью дальнейшего добавления классов с разными весами. Пример одного пайпа в шейпере:
---
# ipfw pipe 10275 show
10275: 7.884 Mbit/s 1 ms 50 sl. 0 queues (1024 buckets) droptail
q10275: weight 1 pipe 10275 50 sl. 2 queues (1024 buckets) droptail
mask: 0x00 0xffffffff/0x0000 -> 0x00000000/0x0000
BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp
178 ip 10.54.51.66/0 0.0.0.0/0 1052254 144341461 0 0 0
190 ip 10.54.51.68/0 0.0.0.0/0 552531 82171179 0 0 0
---Здесь пропускная способность пайпа 10275 используется полностью queue 10275 с весом 1, внутри которого канал делится между всеми ip-адресами, которые передаются в пайп соотвествующими аргументами ipfw tablearg:
---
# ipfw table 5 list | grep 10275
10.54.51.64/29 10275# ipfw list | grep tablearg
03000 queue tablearg ip from any to table(4) xmit vlan3050 // Incoming traffic shaping
03000 queue tablearg ip from table(5) to any xmit em0 // Outgoing traffic shaping
#
---Захотелось добавить другой класс - не вопрос, добавляете новый queue в этот же пайп.
"Предшественниками iptables были проекты ipchains (применялась для администрирования фаервола ядра Linux версии 2.2) и ipfwadm (аналогично для ядер Linux версий 2.0). Последний был основан на BSD-утилите ipfw.iptables сохраняет идеологию, ведущую начало от ipfwadm..."
Так что все от мамы BSD растет, хотя я лично люблю PF (а на счет много тачек - так в PF есть pfsync, если что - попробуйте кто-нить настроить - понравится, например передача состояния соединения на другую машину :) )А вообще - че вату катать - все продукты неплохи, кто к чему привык, но я вот так и не сподобился синтакс иптаблеса разучить... видимо не было нужды. Ну и напоследок никто надеюсь не будет спорить что фрибсда в сетке гораздо круче в качестве всяких фаеров, рутеров, итд. Но как сервер приложений... частенько с линухом проще.
Да забыл добавить маленькую ложку каки для любителей иптаблеса )) - это не фаервол, всего то интерфейс к фаерволу netfilter.
Всем большой удачи.
>(а на счет много тачек - так в PF есть pfsync,
>если что - попробуйте кто-нить настроить - понравится, например передача состояния
>соединения на другую машину :) )Дык у меня уже так и работает - два роутера, соединённые друг с другом через CARP и синхронизирующие правила и сессии PF через pfsync. В случае отказа одного, другой практически мгновенно берёт на себя всю нагрузку, при этом пользователь вообще не замечает перехода на другой сервер (чему немало, кстати, способствует net.inet.ip.stealth ;))
>>(а на счет много тачек - так в PF есть pfsync,
>>если что - попробуйте кто-нить настроить - понравится, например передача состояния
>>соединения на другую машину :) )
>
>Дык у меня уже так и работает - два роутера, соединённые друг
>с другом через CARP и синхронизирующие правила и сессии PF через
>pfsync. В случае отказа одного, другой практически мгновенно берёт на себя
>всю нагрузку, при этом пользователь вообще не замечает перехода на другой
>сервер (чему немало, кстати, способствует net.inet.ip.stealth ;))Кстати, вы бы не могли подробнее описать суть этого параметра. Лично я его всегда включаю в опцию ядра. Смысл из названия примерно ясен, а подробного описания не знаю.
>>сервер (чему немало, кстати, способствует net.inet.ip.stealth ;))
>
>Кстати, вы бы не могли подробнее описать суть этого параметра. Лично я
>его всегда включаю в опцию ядра. Смысл из названия примерно ясен,
>а подробного описания не знаю.Очень плохо включать то, смысл чего Вы не понимаете. Этот параметр отключает декремент TTL транзитных пакетов. От чего, в случае проблем, будет плеваться тот, кто захочет продиагностировать это с traceroute.
>>>сервер (чему немало, кстати, способствует net.inet.ip.stealth ;))
>>
>>Кстати, вы бы не могли подробнее описать суть этого параметра. Лично я
>>его всегда включаю в опцию ядра. Смысл из названия примерно ясен,
>>а подробного описания не знаю.
>
>Очень плохо включать то, смысл чего Вы не понимаете. Этот параметр отключает
>декремент TTL транзитных пакетов. От чего, в случае проблем, будет плеваться
>тот, кто захочет продиагностировать это с traceroute.Да это я и так заметил. Я думал может какие-то другие фичи есть.
ТТЛ пакетов я и так выравниваю средствами ПФ.
> ТТЛ пакетов я и так выравниваю средствами ПФ.В смысле, "выравниваете"?
>> ТТЛ пакетов я и так выравниваю средствами ПФ.
>
>В смысле, "выравниваете"?подразумевается использование директивы "scrub", в частности "srcub normalize, min-ttl <x>"
>>сервер (чему немало, кстати, способствует net.inet.ip.stealth ;))
>
>Кстати, вы бы не могли подробнее описать суть этого параметра. Лично я
>его всегда включаю в опцию ядра. Смысл из названия примерно ясен,
>а подробного описания не знаю.Дык это...всё же элементарно:
>sysctl -d net.inet.ip.stealth
net.inet.ip.stealth: IP stealth mode, no TTL decrementation on forwarding
>Соответственно, в трассировке сервера не видны.
Денис а статейки на сей счет не имеется или хаутушки?
>Денис а статейки на сей счет не имеется или хаутушки?Своей нет, а how-to, представляющие из себя разной степени вольности перевод OpenBSD'шного руководства по PF, в инете имеются. Могу накидать свой вариант, тем более что он у меня хитровые...э-э-э...замороченный: с одновременно работающим ipfw в качестве шейпера.
>>Денис а статейки на сей счет не имеется или хаутушки?
> Своей нет, а how-to, представляющие из себя разной степени вольности перевод OpenBSD'шного
> руководства по PF, в инете имеются. Могу накидать свой вариант, тем
> более что он у меня хитровые...э-э-э...замороченный: с одновременно работающим ipfw в
> качестве шейпера.было бы интересно:)
>В Линуксе есть iptables для фильтрации,ой а я и не знал, надо же.
зачем хвастать отсутствием выбора, и судя по всему своим узкомыслием?
к слову iptables куцый пакетный фильтр, ему далеко до PF как по функционалу так и по прозрачности и компактности конфига.
от того что появился бы PF для линукс ядер тем кто пользуется iptables хуже бы не стало, а вот адептов BSD возможно могли бы и заполучить некоторых.
про зоопарк - это ваши фантазии, число nix* пакетных фильтров активно развивающихся не столь велико, и таки в лине тоже не один пакетный фильтр был в ретроспективе.
PF безусловно крут, на мой взгяд один из лучших, я тока не понял - он на апликашн левеле умеет фильтровать или нет? Так и не увидел отчетливо в заметке.
>PF безусловно крут, на мой взгяд один из лучших, я тока не
>понял - он на апликашн левеле умеет фильтровать или нет? Так
>и не увидел отчетливо в заметке.Нет. И не собирается, увы.
nuclight, извиняюсь, что не к месту, ваша работа по улучшениям ipfw еще в планах?
>nuclight, извиняюсь, что не к месту, ваша работа по улучшениям ipfw еще
>в планах?Да, еще в планах. Но сначала немного в других местах.
>nuclight, извиняюсь, что не к месту, ваша работа по улучшениям ipfw еще
>в планах?А что за улучшения?
>PF безусловно крут, на мой взгяд один из лучших, я тока не
>понял - он на апликашн левеле умеет фильтровать или нет? Так
>и не увидел отчетливо в заметке.он нет, а вот уже немолодой bpf и новорожденный NPF - умеют, как и написано в новости