URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 58945
[ Назад ]

Исходное сообщение
"FreeBSD: multiple routing tables"

Отправлено Neon777 , 06-Авг-05 16:55 
Вот многие кричат: бздя рулит! Линукс сакс! Такой ОС, как Линукс вообще не существует! Нет ничего, что можно сделать в линуксе, но нельзя во фре.
Пакет iproute2 существуе (самое позднее) с 1999 года. С его помощью можно сделать очень многое.

Требуется же очень малое - создать во фре две таблицы маршрутизации. Чтобы в одной основной маршрут шел через один интерфейс а во второй, через другой интерфейс к тому же шлюзу. После этого гнать пакеты через один или другой интерфейс в зависимости от source ip.

Пытался разобраться, как работает Bird, и возможно ли это сделать с его помощью. Документация хреновая. Писал в mailing list - тишина. Неужели это не возможно во фре?? Не верю. Люди добрые, помогите, если кто-нибудь знает как!


Содержание

Сообщения в этом обсуждении
"FreeBSD: multiple routing tables"
Отправлено cybersun , 06-Авг-05 23:57 
>Вот многие кричат: бздя рулит! Линукс сакс! Такой ОС, как Линукс вообще
>не существует! Нет ничего, что можно сделать в линуксе, но нельзя
>во фре.
>Пакет iproute2 существуе (самое позднее) с 1999 года. С его помощью можно
>сделать очень многое.
>
>Требуется же очень малое - создать во фре две таблицы маршрутизации. Чтобы
>в одной основной маршрут шел через один интерфейс а во второй,
>через другой интерфейс к тому же шлюзу. После этого гнать пакеты
>через один или другой интерфейс в зависимости от source ip.
>
>Пытался разобраться, как работает Bird, и возможно ли это сделать с его
>помощью. Документация хреновая. Писал в mailing list - тишина. Неужели это
>не возможно во фре?? Не верю. Люди добрые, помогите, если кто-нибудь
>знает как!

Ну, например, совсем не обязательно использовать какое-то программное обеспечение. Достаточно, скорее всего, прописать для обоих интерфейсов маршрут к тому самому шлюзу, а потом НАТом заворачивать трафик. Поправьте меня, возможно я что-то не допонял


"FreeBSD: multiple routing tables"
Отправлено Neon777 , 07-Авг-05 11:36 
>Ну, например, совсем не обязательно использовать какое-то программное обеспечение. Достаточно, скорее всего,
>прописать для обоих интерфейсов маршрут к тому самому шлюзу, а потом
>НАТом заворачивать трафик. Поправьте меня, возможно я что-то не допонял

А на пальцах можешь показать, как это сделать?


"FreeBSD: multiple routing tables"
Отправлено 08 , 08-Авг-05 06:21 
когда народ начинает обсирать незаконно фрю, обычно все молчат...

ну да ладно, Бог судья.

ты же сам задачу описал :) дальше то что мешает?

самым простым ipfw решается:

ipfw fwd from lalala to zazaza via 1.2.3.4
ipfw fwd from bebebe to ggg via 98.76.54.32

проще некуда..

или ipnat, ipfw2, или zebra (вроде тебе она пока не потребуется ещё долго :)


"FreeBSD: multiple routing tables"
Отправлено Neon777 , 08-Авг-05 10:18 
>когда народ начинает обсирать незаконно фрю, обычно все молчат...
Да потому и обсираю, чтобы народ расшевелить. А то хер кто пальцем пошевелит.
>ну да ладно, Бог судья.
>
>ты же сам задачу описал :) дальше то что мешает?
>
>самым простым ipfw решается:
>
>ipfw fwd from lalala to zazaza via 1.2.3.4
>ipfw fwd from bebebe to ggg via 98.76.54.32

Это только полдела. Оно сработает только если есть маршрут к (одному!) шлюзу через оба интерфейса. А его нет! Как его создать - вот вопрос.
Зебра? Что за зебра?

>проще некуда..
>
>или ipnat, ipfw2, или zebra (вроде тебе она пока не потребуется ещё
>долго :)



"FreeBSD: multiple routing tables"
Отправлено Neon777 , 08-Авг-05 10:47 
Почитал про зебру.

table tableno      Command
Select the primary kernel routing table to be used. This only works for kernels supporting multiple routing tables (like GNU/Linux 2.2.x and later). After setting tableno with this command, static routes defined after this are added to the specified table.

Не поддерживает фря multiple routing tables. А как иначе можно создать два маршрута к одному пункту назначения??


"FreeBSD: multiple routing tables"
Отправлено toor99 , 08-Авг-05 10:49 
>Почитал про зебру.
>
>table tableno   Command
>Select the primary kernel routing table to be used. This only works
>for kernels supporting multiple routing tables (like GNU/Linux 2.2.x and later).
>After setting tableno with this command, static routes defined after this
>are added to the specified table.
>
>Не поддерживает фря multiple routing tables. А как иначе можно создать два
>маршрута к одному пункту назначения??

Да никак, коллега, никак. Расслабьтесь. Этот вопрос задается адептами FreeBSD с завидной регулярностью, и ответ не него именно такой.


"FreeBSD: multiple routing tables"
Отправлено Neon777 , 08-Авг-05 11:03 

>Да никак, коллега, никак. Расслабьтесь. Этот вопрос задается адептами FreeBSD с завидной
>регулярностью, и ответ не него именно такой.

Спасибо за однозначный ответ. А то тычу пальцем в небо...


"FreeBSD: multiple routing tables"
Отправлено toor99 , 08-Авг-05 10:48 
>когда народ начинает обсирать незаконно фрю, обычно все молчат...
>
>ну да ладно, Бог судья.
>
>ты же сам задачу описал :) дальше то что мешает?
>
>самым простым ipfw решается:
>
>ipfw fwd from lalala to zazaza via 1.2.3.4
>ipfw fwd from bebebe to ggg via 98.76.54.32
>
>проще некуда..
>
>или ipnat, ipfw2, или zebra (вроде тебе она пока не потребуется ещё
>долго :)

И чем же ему поможет zebra ? ты бы разобрался для начала, что такое протоколы маршрутизации, как они работают и зачем нужны.
Запомни раз и навсегда. В 1000ный раз объясняю. Протоколы маршрутизации - любые - ничего не маршрутизируют, а только вычисляют оптимальный (оптимальные) маршрут(ы) и инжектят их в таблицу роутинга. ВСЁ. Если ядро не умеет multipath например (как FreeBSD) - несколько параллельных маршрутов, найденных протоколом маршрутизации, ничем ему не помогут.
Почему Cisco умеет обращаться с параллельными маршрутами, а FreeBSD (например) - нет?
Задайте этот вопрос разработчикам.


"FreeBSD: multiple routing tables"
Отправлено Chris , 08-Авг-05 10:59 
>Почему Cisco умеет обращаться с параллельными маршрутами, а FreeBSD (например) - нет?
>
>Задайте этот вопрос разработчикам.


Потому что сетевой стек всё ещё в работе и в работе... Это всё в планах естьи будет на 6-ре фунциклировать, но когда...


"FreeBSD: multiple routing tables"
Отправлено Neon777 , 08-Авг-05 11:26 
>>Почему Cisco умеет обращаться с параллельными маршрутами, а FreeBSD (например) - нет?
>>
>>Задайте этот вопрос разработчикам.
>
>
>Потому что сетевой стек всё ещё в работе и в работе... Это
>всё в планах естьи будет на 6-ре фунциклировать, но когда...

Тогда следующий вопрос: возможно ли запустить целый линукс-дистрибутив под freebsd? Ведь тогда можно было бы использовать линукс с его поддержкой некольких марш. таблиц?


"FreeBSD: multiple routing tables"
Отправлено lavr , 08-Авг-05 12:15 
>>>Почему Cisco умеет обращаться с параллельными маршрутами, а FreeBSD (например) - нет?
>>>
>>>Задайте этот вопрос разработчикам.
>>
>>
>>Потому что сетевой стек всё ещё в работе и в работе... Это
>>всё в планах естьи будет на 6-ре фунциклировать, но когда...
>
>Тогда следующий вопрос: возможно ли запустить целый линукс-дистрибутив под freebsd? Ведь тогда
>можно было бы использовать линукс с его поддержкой некольких марш. таблиц?
>

коллега, не занимайтесь бредовыми изысками, ответьте себе на один вопрос,
раз и навсегда - КАКИЕ ЗАДАЧИ решает ТА или ИНАЯ OS.
Хотите адекватно решать задачи маршрутизации - покупайте специализированную СЕТЕВУЮ OS: cisco-ios, juniper (на базе freebsd), любую
другу на любой базе но СПОСОБНУЮ решать ТРЕБУЕМЫЕ задачи.
Ни iproute, ни iptable, ни ipfilter, ipfw, pf и текущий стек xBSD & Linux
не приемлемы для нормального решения multipath routing'а, source-routing...


"FreeBSD: multiple routing tables"
Отправлено Neon777 , 08-Авг-05 12:43 
Почему.. iptables + iproute с данной задачей вполне справились бы. Не такая уж она сложная. Но в линуксе, насколько я знаю, нет ничего похожего на netgraph :( Буду ждать шестой релиз фри.

"FreeBSD: multiple routing tables"
Отправлено Dig , 08-Авг-05 14:36 
>Почему.. iptables + iproute с данной задачей вполне справились бы. Не такая
>уж она сложная. Но в линуксе, насколько я знаю, нет ничего
>похожего на netgraph :( Буду ждать шестой релиз фри.

А причем тут netgraph к роутингу ?
Если ты думаешь что считать без затыков трафло может только фря то ты глубоко ошибаешься. Смотри PF_RING !


"FreeBSD: multiple routing tables"
Отправлено Dig , 08-Авг-05 14:38 
И вообще эти религиозные войны что лучше Linux или FreeBSD уже всех достали. Желающие пофлеймить могут сходить на LOR.


"FreeBSD: multiple routing tables"
Отправлено Neon777 , 08-Авг-05 14:47 
>И вообще эти религиозные войны что лучше Linux или FreeBSD уже всех
>достали. Желающие пофлеймить могут сходить на LOR.

Причем тут флейм? Мне абсолютно все равно, что из них лучше. Просто напросто я искал решение проблемы. Мне популярно обьяснили, что пока что такого нет. netgraph к роутингу отношения не имеет. Просто само существование netgrapf -  это одна из причин, почему я фрю не потер еще.


"FreeBSD: multiple routing tables"
Отправлено Neon777 , 10-Авг-05 16:00 
Нде... оказывается, колесо уже изобрели...

для решения этой задачи подходит как packet filter так и ipfirewall.
В pf просто:
pass in on $lan_interface route-to ($ext_iface2 $gateway_ip) from $lan_network to !$lan_interface_ip

И не надо ни birdов ни зебр ни multiple routing tables.
Неужели никто не знал?


"FreeBSD: multiple routing tables"
Отправлено toor99 , 10-Авг-05 16:11 
>Нде... оказывается, колесо уже изобрели...
>
>для решения этой задачи подходит как packet filter так и ipfirewall.
>В pf просто:
>pass in on $lan_interface route-to ($ext_iface2 $gateway_ip) from $lan_network to !$lan_interface_ip
>
>И не надо ни birdов ни зебр ни multiple routing tables.
>Неужели никто не знал?

Это называется policy routing. Вы, должно быть, недостаточно полно описали решаемую задачу. Потому, что полиси-роутинг - это действительно изобретение колеса. Да и к multiple routing tables (see the subject) отношения он не имеет...



"FreeBSD: multiple routing tables"
Отправлено Neon777 , 10-Авг-05 16:24 
>Это называется policy routing. Вы, должно быть, недостаточно полно описали решаемую задачу.
>Потому, что полиси-роутинг - это действительно изобретение колеса. Да и к
>multiple routing tables (see the subject) отношения он не имеет...

Действительно, неполно. Просто не знал, как подступиться. Линукс меня с толку сбил, там фильтр пакетов ни коим образом на ротуинг не влияет. Но ничего, разобрался. И заодно столько полезных вещей узнал. Спасибо всем, кто пытался помочь :)


"FreeBSD: multiple routing tables"
Отправлено hertz , 23-Окт-07 00:18 
Другого решения как кроме через файрволл не появилось?
По разным причинам не могу вести маршрутизацию в файрволле, требуется именно на уровне самих таблиц маршрутизации решить проблему...