![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
В честь 26 годовщины 26 апреля уволился с текущей работы и таки наконец начал проект http://wiki.freebsd.org/IpfwNg — хотя на работе FreeBSD и была основной системой, реальную возможность пилить ядро я так и не получил (хотя тот же NAT64 нам бы понадобился не через полгода, так через год). В ближайшие недели посижу дома и надеюсь сделать хотя бы скелет, который можно будет потом уже в свободное время потихоньку пилить — работы по проекту предстоит очень много.
Желающие обсудить по делу — велкам в каменты (хотя я туда еще не все наброски оформил).
Желающие обсудить по делу — велкам в каменты (хотя я туда еще не все наброски оформил).
no subject
Date: 2012-04-26 05:40 am (UTC)2. интеграция и совмещение с nat.
1+2. скорее ближе к asa, но идти надо еще дальше. у asa nat и acl все же не одно и то же.
4. наконец-то поддержка ftp в файрволе!
no subject
Date: 2012-04-26 07:17 am (UTC)2. Зачем совмещать концептуально разные вещи?
1+2 вам надо - идите.
4. Существует масса протоколов и сервисов. Это что, все их "поддерживать в файрволле"? Гггггг.....
(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2012-04-26 10:39 pm (UTC)Идеология по крайней мере немного, да изменится, с синтаксисом вот хуже - если широкие массы userbase его не воспримут, такое изменение нафиг не сдалось.
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:Способ коммуникации лучше тот, который удобен мне, а не
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2012-04-26 06:16 am (UTC)а) нормального stateful-фильтра
б) аналога route-to\reply-to из pf
в) ну и вообще гибкости пфа в плане того что может быть произвольная комбинация first-match\last-match, а не всегда first-match как в ipfw, хотя это не настолько принципиально.
В результате приходится использовать связку pf\ipfw и ловить кучу граблей в некоторых случаях.
Кстати, может быть вопрос не совсем по адресу: мы тут запилили ядерный netgraph модуль для layer-7 фильтрации и думаем его предложить для внесения в head. Что для этого надо сделать?
no subject
Date: 2012-04-26 06:41 am (UTC)или подготовить порт
no subject
Date: 2012-04-26 11:12 pm (UTC)В таких случаях стоит пояснять, что именно подразумевается под "нормальным". Даже вариант ответа "как в pf" требует некоторых уточнений - скажем, я чехарду вокруг scrub/synproxy/и около - не считаю обязательным атрибутом нормального.
> в) ну и вообще гибкости пфа в плане того что может быть произвольная комбинация first-match\last-match, а не всегда first-match как в ipfw, хотя это не настолько принципиально.
Сколько с файрволами работаю, никогда не понимал этого идиотизма с last-match, который становится особенно контринтуитивен в случае произвольных комбинаций с first-match. Можете показать реально работающую конфигурацию, где использование этой фичи упрощает рулесет и/или его понимание? Всегда было интересно посмотреть на выигрыш.
> Кстати, может быть вопрос не совсем по адресу: мы тут запилили ядерный netgraph модуль для layer-7 фильтрации и думаем его предложить для внесения в head. Что для этого надо сделать?
1) Должна наличествовать документация, то есть хорошо написанная ман-страница, как и у других модулей
2) Убедиться, что код соответствует style(9) и достаточно современен на вкус коммиттеров (в смысле, не используются ныне считающиеся устаревшими идиомы)
3) После этого патч публикуется в net@ и можно пинать знакомых коммиттеров на его включение.
Альтернативный вариант, как посоветовал коммиттер в соседнем комментарии - оформить порт, как это сделано для ng_ipacct и когда-то было сделано для ng_netflow. В этом случае второй пункт некритичен. На самом деле, если вы планируете регулярно его обновлять и вообще майнтейнить, порт даже лучше - в базу пропихивать изменения тормознее.
no subject
Date: 2012-04-26 07:47 am (UTC)no subject
Date: 2012-04-26 07:00 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2012-04-26 10:30 am (UTC)ну и загрузка всех правил скопом must have.
no subject
Date: 2012-04-26 10:48 pm (UTC)Да, разумеется. Хотя технически это скорее будет загрузка кусками в некий буфер в ядре и потом его атомарная активация.
> для NAT64 libalias бы переписать.
А вот это нафиг не надо и вредно, libalias пора закопать (вот в треде ниже мнение Глеба приводят, конкретно к этой теме я согласен). Чтобы там такое сделать, нужно столько переделать, что проще переписать. К тому же дает знать о себе наследие ориентированности на юзерленд и архитектурная ошибка в виде мешания partially specified links (для редиректов и проч.) в общую кучу с обычными соединениями, из-за чего нельзя применить более эффективную хэш-функцию, и (в том числе поэтому) вообще параллелить его - та еще проблема...
(no subject)
From:no subject
Date: 2012-04-28 02:08 pm (UTC)Есть давным давно, ещё в 4.x было. ipfw sets.
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:демагогия
From:(no subject)
From:no subject
Date: 2012-05-04 10:10 pm (UTC)а правила скопом загружаются без проблем - ipfw /path/to/rules
причём, в отличие от отдельных вызовов ipfw add, грузятся практически мгновенно.
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:и снова бесполезный разговор
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2012-04-26 06:59 pm (UTC)Недавно переписывался с Глебом Смирновом (glebius). Если интересно, то он считает, что ipfw как stateful файервол существенно уступает pf (над которым он как раз сейчас усиленно работает), и libalias-based NAT (ipfw nat, ng_nat, не говоря уж о natd) это вообще тупиковая ветвь развития.
Мне как провайдеру в ipfw не хватает адекватного перекладывания в нужный интерфейс (ну что это за ерунда, делать fwd, но уже после routing decision?!), синхронизации states между нодами (да-да, именно поэтому я так обрадовался планам на ipfwsync) и Carrier Grade NAT (гигабиты NATa леххко).
no subject
Date: 2012-04-26 07:40 pm (UTC)(no subject)
From:(no subject)
From:хелперы отслеживания вторичных соединений
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:Пример языка
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2012-04-26 07:50 pm (UTC)(no subject)
From:(no subject)
From:no subject
Date: 2012-04-26 10:58 pm (UTC)Насчет ipfwsync - ну это когда еще будет... Я затрудняюсь сказать, сколько времени потребует проект, как минимум несколько месяцев _фулл-тайма_ (т.е. реально куда больше, потому что на попозже мне таки надо будет на работу устроиться), и для ipfwsync будет заложена возможность, а реализовано может будет уже после интеграции в базу.
И вопрос как провайдеру, насчет fwd: а на линуксовый iproute2 смотрели? Там выбор таблицы маршрутизации сделан несколько человечнее и похоже на ipfw синтаксисом даже (наш соотечественник делал). Оно, конечно, дублирует функционал iptables, но на эти проблемы нам плевать, можем сделать как хотим. Вопрос, что именно/как оттуда стоит брать, с точки зрения пользователя?
(no subject)
From:(no subject)
From:(no subject)
From:iproute2
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2012-05-04 10:05 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2012-05-02 05:51 am (UTC)Для i386 запускаем скрипт с аргументом 122, для amd64 с аргументом 121. На 8.3 после этого наблюдаем бинарник /sbin/ipfw в состоянии running, жрущий все такты CPU, не убиваемый через kill -9. Любой последующий запуск ipfw - даже ipfw show - порождает второй такой же процесс. Перезагрузиться нормально такая система уже не в состоянии, только через выход в KDB и reboot там.
no subject
Date: 2012-05-06 12:00 pm (UTC)(no subject)
From:no subject
Date: 2012-05-10 01:32 am (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:вынос классического ipfw
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2012-05-04 10:01 pm (UTC)2) По поводу привязки к интерфейсам…
в таком виде для провайдерского роутера это малоприменимо.
Например, тазик обслуживает 3000 абонентов - создано 3000 вланов. Если делать 3000 "файрвольчиков", будет сильно размываться кэш.
Один большой, возможно, с чуть более сложной логикой, запросто окажется выгоднее.
Если вместо вланов пппое - там интерфейсы и вовсе динамические, не напривязываешься.
А когда на тачке интерфейсов всего несколько - "привязка" делается несколькими skipto.
Итог - та же самая возможность, что со skipto, просто создана новая сущность. Смысл?
no subject
Date: 2012-05-04 10:07 pm (UTC)Чтобы можно было, к примеру, индивидуально задать для каждого абонента, куда ему нельзя ходить.
no subject
Date: 2012-05-25 10:54 pm (UTC)(no subject)
From:no subject
Date: 2012-05-21 05:44 am (UTC)no subject
Date: 2012-05-21 07:49 am (UTC)Именно так работает эта система.
(no subject)
From:(no subject)
From:(no subject)
From: