IpfwNg

Apr. 26th, 2012 03:11 am
nuclight: (Default)
[personal profile] nuclight
В честь 26 годовщины 26 апреля уволился с текущей работы и таки наконец начал проект http://wiki.freebsd.org/IpfwNg — хотя на работе FreeBSD и была основной системой, реальную возможность пилить ядро я так и не получил (хотя тот же NAT64 нам бы понадобился не через полгода, так через год). В ближайшие недели посижу дома и надеюсь сделать хотя бы скелет, который можно будет потом уже в свободное время потихоньку пилить — работы по проекту предстоит очень много.

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

Date: 2012-04-27 08:07 am (UTC)
From: [identity profile] http://users.livejournal.com/_dyr/
"rtable"
Хотя конкретно для вашего случая я бы всё же не использовал несколько таблиц маршрутизации, а пользовался бы именно перекладыванием в нужный интерфейс ("route-to"). По моему опыту роутеры с несколькими FIB весьма глючные :(

Date: 2012-04-27 10:01 am (UTC)
From: [identity profile] victor-sudakov.livejournal.com
А для локально запущенных приложений pf rtable разве работает? А то в pf.conf(5) написано "Only effective before the route lookup happened, i.e. when filtering inbound." В такой позе и "ipfw setfib" работает.

А перекладыванием я сейчас как раз и пользуюсь, только ipfw fwd, а не pf. Но вот появилась новая фича с этими fib, захотелось попробовать.

Date: 2012-04-27 10:17 am (UTC)
From: [identity profile] http://users.livejournal.com/_dyr/
Для локальных не знаю.
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

Date: 2012-04-28 04:11 am (UTC)
From: [identity profile] victor-sudakov.livejournal.com
> 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, если бы клал только в тот же интерфейс? Или я Вас не понял?

Date: 2012-04-28 06:30 am (UTC)
From: [identity profile] http://users.livejournal.com/_dyr/
А вот фиг. Навскидку: 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)

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

Date: 2012-05-10 01:40 am (UTC)
From: [identity profile] nuclight.livejournal.com
А что глючное? У нас на работе (с которой и уволился) прекрасно работали, [livejournal.com profile] bird_of_luck постарался.

Date: 2012-05-10 06:20 am (UTC)
From: [identity profile] http://users.livejournal.com/_dyr/
А периодически в дампы валились. :( И как не начнёшь гуглить, так везде первым же советом идёт - убирайте multi-FIB'ы и проверяйте.

February 2017

S M T W T F S
   1 234
567891011
12131415161718
19202122232425
262728    

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 7th, 2025 04:27 am
Powered by Dreamwidth Studios