![[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 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
Date: 2012-04-26 10:51 pm (UTC)no subject
Date: 2012-04-27 12:19 am (UTC)но это должно быть расширяемо, модульно (с какими-то хуками), расширяемо в бинарном виде, идеально в виде описания нового протокола/расширения на DSL и трансляции в аналог какого-то DFA.
т.е. расширение должно быть не на си писанно. а после подгрузки в файрвол -- правятся внутренние таблицы (не в хуки вставляются в цепочку, а хуки говорят на каком уровне вставляться в какие таблицы. а далее в "таблицы" (которые могут на самом деле быть radix tree) вносятся исправления).
информация, которая добавляется может быть номером порта, сигнатурой по смещению, регэкспом (для расширения sipа, там же куча RFC, например с dual video отдельные пляски)
SIP must have.
хелперы отслеживания вторичных соединений
Date: 2012-05-10 09:47 pm (UTC)> SIP must have.
Ну ты же понимаешь, что в одиночку я это ниасилю (тем более я никогда не имел дела с SIP). Моя задача - сделать фреймворк,
(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
Date: 2012-04-27 08:15 am (UTC)no subject
Date: 2012-04-27 08:17 am (UTC)" "
no subject
Date: 2012-04-26 10:58 pm (UTC)Насчет ipfwsync - ну это когда еще будет... Я затрудняюсь сказать, сколько времени потребует проект, как минимум несколько месяцев _фулл-тайма_ (т.е. реально куда больше, потому что на попозже мне таки надо будет на работу устроиться), и для ipfwsync будет заложена возможность, а реализовано может будет уже после интеграции в базу.
И вопрос как провайдеру, насчет fwd: а на линуксовый iproute2 смотрели? Там выбор таблицы маршрутизации сделан несколько человечнее и похоже на ipfw синтаксисом даже (наш соотечественник делал). Оно, конечно, дублирует функционал iptables, но на эти проблемы нам плевать, можем сделать как хотим. Вопрос, что именно/как оттуда стоит брать, с точки зрения пользователя?
no subject
Date: 2012-04-27 12:23 am (UTC)могу сказать, что человечного там при выборе таблицы маршрутизации довольно мало.
но это такая задача, которая на данный момент везде решается криво и есть ли для нее хорошее решение -- не ясно
no subject
Date: 2012-05-10 02:41 am (UTC)no subject
Date: 2012-05-10 07:27 am (UTC)синтаксисис -- мало ушел от птичьего.
а, не, вру -- натурально птичий, это же iproute. я в нем permit any any не осилил по ману, пришлось в гугл за примером лезть.
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
Date: 2012-05-25 09:21 pm (UTC)>могу сказать, что человечного там при выборе таблицы маршрутизации довольно мало.
а в чём проблема?
root@laptus:~# ip rule help
Usage: ip rule [ list | add | del | flush ] SELECTOR ACTION
SELECTOR := [ not ] [ from PREFIX ] [ to PREFIX ] [ tos TOS ] [ fwmark FWMARK[/MASK] ]
[ iif STRING ] [ oif STRING ] [ pref NUMBER ]
ACTION := [ table TABLE_ID ]
[ prohibit | reject | unreachable ]
[ realms [SRCREALM/]DSTREALM ]
[ goto NUMBER ]
TABLE_ID := [ local | main | default | NUMBER ]
вполне human readable.
>но это такая задача, которая на данный момент везде решается криво и есть ли для нее хорошее решение -- не ясно
несколько таблиц, где в каждой живёт свой набор маршрутов банально проще для восприятия. т.е. нечто вроде кубиков, которые отладил и поднимаешься вверх по уровням абстракции, строя уже из кубиков что-то более сложное.
no subject
Date: 2012-05-26 06:00 am (UTC)например, нигде не было описанно что стадия PREROUTING (кажется) влияет на возможность bind сокета к локальному адресу и на arp кажется тоже. это осенью было -- вспоминать лень.
no subject
Date: 2012-04-27 08:13 am (UTC)Ну вот Глеб, насколько я понимаю, и хочет своё запилить, без апстрима ;)
Насчет ipfwsync - ну это когда еще будет...
Я постараюсь уговорить руководство на денежный грант по ipfwsync. Если что, найдётся банковский счёт и юридическое лицо (хотя бы в виде ИП)?
И вопрос как провайдеру, насчет fwd: а на линуксовый iproute2 смотрели?
Нет, не смотрел. Смотрели у Линукса только iptables, и пытался продраться сквозь дебри синтаксиса tc (увы, не смог). NAT у него, конечно, отличнейший.
no subject
Date: 2012-04-28 02:12 pm (UTC)no subject
Date: 2012-04-28 02:47 pm (UTC)(no subject)
From:no subject
Date: 2012-04-28 02:17 pm (UTC)Если есть желание, я могу дать адрес автора, возможно удастся уговорить его выложить его куда нибудь.
no subject
Date: 2012-05-10 01:46 am (UTC)(no subject)
From:no subject
Date: 2012-05-10 01:46 am (UTC)Дурная это работа, как по мне. Там кроме SMP еще куча проблем, а синхронизироваться с апстримом ведь всё равно придется.
> Я постараюсь уговорить руководство на денежный грант по ipfwsync. Если что, найдётся банковский счёт и юридическое лицо (хотя бы в виде ИП)?
Увы, юридического лица не найдется. Да и до обеспечения возможности ipfwsync еще куча работы - хочется ведь полноценный ipfwsync (ввиду несовместимости между разными версиями мне кажется что полезность pfsync немного страдает).
> только iptables, и пытался продраться сквозь дебри синтаксиса tc (увы, не смог).
Что ж всё места-то такие... У него команда ip(8) единственная, где синтаксис человеческий, в отличие и от iptables и от tc.
no subject
Date: 2012-05-25 08:59 pm (UTC)а в каком месте? могу только вспомнить stateless nat
no subject
Date: 2012-05-25 09:58 pm (UTC)no subject
Date: 2012-05-04 10:05 pm (UTC)no subject
Date: 2012-05-05 07:30 am (UTC)no subject
Date: 2012-05-06 08:51 am (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From: