nuclight: (Default)
nuclight ([personal profile] nuclight) wrote2012-04-26 03:11 am
Entry tags:

IpfwNg

В честь 26 годовщины 26 апреля уволился с текущей работы и таки наконец начал проект http://wiki.freebsd.org/IpfwNg — хотя на работе FreeBSD и была основной системой, реальную возможность пилить ядро я так и не получил (хотя тот же NAT64 нам бы понадобился не через полгода, так через год). В ближайшие недели посижу дома и надеюсь сделать хотя бы скелет, который можно будет потом уже в свободное время потихоньку пилить — работы по проекту предстоит очень много.

Желающие обсудить по делу — велкам в каменты (хотя я туда еще не все наброски оформил).

[identity profile] http://users.livejournal.com/_dyr/ 2012-04-27 10:17 am (UTC)(link)
Для локальных не знаю.
ipfw fwd не работает же - он изменяет лишь ip, но кладёт в тот же интерфейс (в отличии от удобного route-to в pf):
pass out quick route-to ($ext_if_1 $ext_gw_1) from $nat_1 to any allow-opts no state
pass out quick route-to ($ext_if_2 $ext_gw_2) from $nat_2 to any allow-opts no state

[identity profile] victor-sudakov.livejournal.com 2012-04-28 04:11 am (UTC)(link)
> ipfw fwd не работает же - он изменяет лишь ip, но кладёт в тот же интерфейс

Как это не работает? "If ipaddr is not a local address, then the port number (if specified) is ignored, and the packet will be forwarded to the remote address, using the route as found in the local routing table for that IP."

А как бы на ipfw fwd делали policy routing, если бы клал только в тот же интерфейс? Или я Вас не понял?

[identity profile] http://users.livejournal.com/_dyr/ 2012-04-28 06:30 am (UTC)(link)
А вот фиг. Навскидку: kern/129036 (http://www.freebsd.org/cgi/query-pr.cgi?pr=129036&cat=kern), kern/122963 (http://www.freebsd.org/cgi/query-pr.cgi?pr=122963&cat=kern)

[identity profile] dadv.livejournal.com 2012-04-28 02:08 pm (UTC)(link)
Он кладет в нужный интерфейс, там есть лишь проблема с тем, что переписывание имени исходящего интерфейса в атрибутах пакета не происходит и ipfw продолжает "видеть" имя старого исходящего интерфейса. Но роутинг будет выполнен корректно на указанных next-hop всё равно.