Jump to content
Калькуляторы

setfib + ospf

Привет всем. Собственно гугл не помог, поэтому прошу помощи опытных товарищей.

Есть сервер доступа freebsd pppoe. Задача была, чтобы одновременно абоненты использовали 2 провайдера, т.е. чтобы была балансировка. Было решено это дело реализовать с помощью множественных таблиц маршрутизации setfib. 

Всё здорово работает, и очень удобно балансировать всё и переключать, проблема в следующем:

этот сервер доступа находится в ospf сети и анонсы от других серверов доступа получает только первая таблица маршрутизации. Вторая же пустая, шлюз+умолчанию да айпишники подключенных абонентов, так вот абоненты которые работают через вторую таблицу не знают ничего о внутренних сервисах, а вручную писать маршруты до этих сервисов я уже устал. Как тут быть? и есть ли способ как-то синхронизировать эти таблицы или чтобы от ospf пополнялась и вторая таблица, чтобы грубо говоря в них только default route отличался?!

Share this post


Link to post
Share on other sites

Похачить квагу?

Share this post


Link to post
Share on other sites

1 час назад, adron2 сказал:

Похачить квагу?

что значит "похачить"? не понимаю

Share this post


Link to post
Share on other sites

@adron2 не знаете как?

Share this post


Link to post
Share on other sites

7 часов назад, ytil сказал:

@adron2 не знаете как?

Я имел ввиду взять исходник кваги и немного его поправить чтобы помимо добавления в main таблицу маршрутизации оно еще добавляло и в нужную вам таблицу. Вторым вариантом я вижу написать небольшую программку на Си которая подключается посредством определенных механизмов к ядру и получает эвенты при изменениях в таблице маршрутизации main. после этого она добавляет/удаляет полученный роут в указанную таблицу. Например в Linux такое умеет делать утилита ip из пакета iproute2:

# ip monitor
10.20.30.50 via 195.189.99.193 dev enp2s0
Deleted 10.20.30.50 via 195.189.99.193 dev enp2s0

В этом случае вообще можно тем же Perl-ом парсить вывод `ip monitor` и выполнять соответствующую команду вида:

 ip route add x.x.x.x/xx via y.y.y.y dev enp2s0 table kkkk

Как это делается во фряхе я хз. Но думаю тоже должны быть похожие утилиты.

Share this post


Link to post
Share on other sites

Вот, вот, правильно именно так. Как в той поговорке: «Мыши плакали, кололись, но продолжали грызть кактус». Пока пользователь допотопной и глючной кваги полностью не пройдёт этот путь боли и немыслимых извращений,  ему не стоит переходить на Bird, который не только нормально поддерживает управление, логические манипуляции и пользование множеством таблиц маршрутизации и требует меньше ресурсов для тех же задач, но ещё и развивается в отличие от мёртвой кваги. 

172164_original.jpg

Share this post


Link to post
Share on other sites

21 час назад, adron2 сказал:

Я имел ввиду взять исходник кваги и немного его поправить чтобы помимо добавления в main таблицу маршрутизации оно еще добавляло и в нужную вам таблицу. Вторым вариантом я вижу написать небольшую программку на Си которая подключается посредством определенных механизмов к ядру и получает эвенты при изменениях в таблице маршрутизации main. после этого она добавляет/удаляет полученный роут в указанную таблицу.

На что люди не пойдут, чтобы не ставить bird, с его фильтрами, пайпами и прочими поэтессами и преферансом.

 

9 часов назад, dvb2000 сказал:

продолжали грызть кактус

Угу.

Share this post


Link to post
Share on other sites

А потом читаешь конфиги bird таких деятелей и за голову берешься. Ну, каким местом надо было думать, чтоб так извращаться.
Наличие фич не означает читабельность и понятность конфига.

Share this post


Link to post
Share on other sites

Спасибо за рекомендации

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now