[RootConf] IPFW: несколько наборов правил и другие предполагаемые изменения

Apr 06, 2009 00:14

===
В марте, помнится, я написал в ipfw@ предложения по архитектурным улучшениям ipfw, как кандидат на GSoC 2008. Никто не отреагировал (многабукаф, фигли). Дальше, в конце мая в RU.UNIX.BSD разгорелся спор - народ хотел изменения "как Cisco ACLs, но лучше", однако конкретики не было, хотя со временем что-то уже вырисовалось, я поглядел на идеи для ( Read more... )

сети, netgraph, лытдыбр, freebsd, ipfw, админское

Leave a comment

next_hop q_zmich April 7 2009, 07:25:12 UTC
Не секрет, что иногда производительности одного FreeBSD сервер в качестве маршрутизатора не хватает. Очень любят кушать NAT, DUMMYNET и т.д., поэтому иногда хочется разделить работу на несколько серверов, а не покупать "Циска двамильёнатристатыщ".
Например: два шейпера <-> два ната <-> три bgp-роутера, и всё это обложено динамической маршрутизацией.

Если соединять такие каскады "интерфейс в интерфейс" - то проблем с описанием не возникает. Однако, если на одном интерфейсе сидят несколько BGP-руотеров, то тут уже условиями via interface не обойдешься.

Понимаю, что задача несколько "частная", однако хотелось бы иметь условия вроде next-hop ip/prefix для исходящих пакетов: ipfw add 500 allow ip from any to any out next-hop 1.2.3.4. Реализация - наверное, принудительное привешивание тега, используемого в инструкции fwd на любой пакет, проходящий через роутинг в ip_output. Влияет на производительность, поэтому стоит сделать как опцию при компиляции.

Может быть имет смысл позволять делать лукапы в таблицы роутинга из правил ipfw. Например,
ipfw add 500 allow ip from any to any route dst next-hop 1.2.3.4
ipfw add 700 deny ip from any to any route src iface em0

Reply


Leave a comment

Up