Вот многие кричат: бздя рулит! Линукс сакс! Такой ОС, как Линукс вообще не существует! Нет ничего, что можно сделать в линуксе, но нельзя во фре.
Пакет iproute2 существуе (самое позднее) с 1999 года. С его помощью можно сделать очень многое.Требуется же очень малое - создать во фре две таблицы маршрутизации. Чтобы в одной основной маршрут шел через один интерфейс а во второй, через другой интерфейс к тому же шлюзу. После этого гнать пакеты через один или другой интерфейс в зависимости от source ip.
Пытался разобраться, как работает Bird, и возможно ли это сделать с его помощью. Документация хреновая. Писал в mailing list - тишина. Неужели это не возможно во фре?? Не верю. Люди добрые, помогите, если кто-нибудь знает как!
>Вот многие кричат: бздя рулит! Линукс сакс! Такой ОС, как Линукс вообще
>не существует! Нет ничего, что можно сделать в линуксе, но нельзя
>во фре.
>Пакет iproute2 существуе (самое позднее) с 1999 года. С его помощью можно
>сделать очень многое.
>
>Требуется же очень малое - создать во фре две таблицы маршрутизации. Чтобы
>в одной основной маршрут шел через один интерфейс а во второй,
>через другой интерфейс к тому же шлюзу. После этого гнать пакеты
>через один или другой интерфейс в зависимости от source ip.
>
>Пытался разобраться, как работает Bird, и возможно ли это сделать с его
>помощью. Документация хреновая. Писал в mailing list - тишина. Неужели это
>не возможно во фре?? Не верю. Люди добрые, помогите, если кто-нибудь
>знает как!Ну, например, совсем не обязательно использовать какое-то программное обеспечение. Достаточно, скорее всего, прописать для обоих интерфейсов маршрут к тому самому шлюзу, а потом НАТом заворачивать трафик. Поправьте меня, возможно я что-то не допонял
>Ну, например, совсем не обязательно использовать какое-то программное обеспечение. Достаточно, скорее всего,
>прописать для обоих интерфейсов маршрут к тому самому шлюзу, а потом
>НАТом заворачивать трафик. Поправьте меня, возможно я что-то не допонялА на пальцах можешь показать, как это сделать?
когда народ начинает обсирать незаконно фрю, обычно все молчат...ну да ладно, Бог судья.
ты же сам задачу описал :) дальше то что мешает?
самым простым 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 (вроде тебе она пока не потребуется ещё долго :)
>когда народ начинает обсирать незаконно фрю, обычно все молчат...
Да потому и обсираю, чтобы народ расшевелить. А то хер кто пальцем пошевелит.
>ну да ладно, Бог судья.
>
>ты же сам задачу описал :) дальше то что мешает?
>
>самым простым 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 (вроде тебе она пока не потребуется ещё
>долго :)
Почитал про зебру.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. А как иначе можно создать два маршрута к одному пункту назначения??
>Почитал про зебру.
>
>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 с завидной
>регулярностью, и ответ не него именно такой.Спасибо за однозначный ответ. А то тычу пальцем в небо...
>когда народ начинает обсирать незаконно фрю, обычно все молчат...
>
>ну да ладно, Бог судья.
>
>ты же сам задачу описал :) дальше то что мешает?
>
>самым простым 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 (например) - нет?
Задайте этот вопрос разработчикам.
>Почему Cisco умеет обращаться с параллельными маршрутами, а FreeBSD (например) - нет?
>
>Задайте этот вопрос разработчикам.
Потому что сетевой стек всё ещё в работе и в работе... Это всё в планах естьи будет на 6-ре фунциклировать, но когда...
>>Почему Cisco умеет обращаться с параллельными маршрутами, а FreeBSD (например) - нет?
>>
>>Задайте этот вопрос разработчикам.
>
>
>Потому что сетевой стек всё ещё в работе и в работе... Это
>всё в планах естьи будет на 6-ре фунциклировать, но когда...Тогда следующий вопрос: возможно ли запустить целый линукс-дистрибутив под freebsd? Ведь тогда можно было бы использовать линукс с его поддержкой некольких марш. таблиц?
>>>Почему Cisco умеет обращаться с параллельными маршрутами, а FreeBSD (например) - нет?
>>>
>>>Задайте этот вопрос разработчикам.
>>
>>
>>Потому что сетевой стек всё ещё в работе и в работе... Это
>>всё в планах естьи будет на 6-ре фунциклировать, но когда...
>
>Тогда следующий вопрос: возможно ли запустить целый линукс-дистрибутив под freebsd? Ведь тогда
>можно было бы использовать линукс с его поддержкой некольких марш. таблиц?
>коллега, не занимайтесь бредовыми изысками, ответьте себе на один вопрос,
раз и навсегда - КАКИЕ ЗАДАЧИ решает ТА или ИНАЯ OS.
Хотите адекватно решать задачи маршрутизации - покупайте специализированную СЕТЕВУЮ OS: cisco-ios, juniper (на базе freebsd), любую
другу на любой базе но СПОСОБНУЮ решать ТРЕБУЕМЫЕ задачи.
Ни iproute, ни iptable, ни ipfilter, ipfw, pf и текущий стек xBSD & Linux
не приемлемы для нормального решения multipath routing'а, source-routing...
Почему.. iptables + iproute с данной задачей вполне справились бы. Не такая уж она сложная. Но в линуксе, насколько я знаю, нет ничего похожего на netgraph :( Буду ждать шестой релиз фри.
>Почему.. iptables + iproute с данной задачей вполне справились бы. Не такая
>уж она сложная. Но в линуксе, насколько я знаю, нет ничего
>похожего на netgraph :( Буду ждать шестой релиз фри.А причем тут netgraph к роутингу ?
Если ты думаешь что считать без затыков трафло может только фря то ты глубоко ошибаешься. Смотри PF_RING !
И вообще эти религиозные войны что лучше Linux или FreeBSD уже всех достали. Желающие пофлеймить могут сходить на LOR.
>И вообще эти религиозные войны что лучше Linux или FreeBSD уже всех
>достали. Желающие пофлеймить могут сходить на LOR.Причем тут флейм? Мне абсолютно все равно, что из них лучше. Просто напросто я искал решение проблемы. Мне популярно обьяснили, что пока что такого нет. netgraph к роутингу отношения не имеет. Просто само существование netgrapf - это одна из причин, почему я фрю не потер еще.
Нде... оказывается, колесо уже изобрели...для решения этой задачи подходит как 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.
Неужели никто не знал?
>Нде... оказывается, колесо уже изобрели...
>
>для решения этой задачи подходит как 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) отношения он не имеет...
>Это называется policy routing. Вы, должно быть, недостаточно полно описали решаемую задачу.
>Потому, что полиси-роутинг - это действительно изобретение колеса. Да и к
>multiple routing tables (see the subject) отношения он не имеет...Действительно, неполно. Просто не знал, как подступиться. Линукс меня с толку сбил, там фильтр пакетов ни коим образом на ротуинг не влияет. Но ничего, разобрался. И заодно столько полезных вещей узнал. Спасибо всем, кто пытался помочь :)
Другого решения как кроме через файрволл не появилось?
По разным причинам не могу вести маршрутизацию в файрволле, требуется именно на уровне самих таблиц маршрутизации решить проблему...