The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Quagga и приоритезация каналов"
Версия для распечатки Пред. тема | След. тема
Форум Открытые системы на сервере
Исходное сообщение [ Отслеживать ]
Присылайте удачные настройки в раздел примеров файлов конфигурации на WIKI.opennet.ru.
. "Quagga и приоритезация каналов" +/
Сообщение от PavelR (??), 27-Сен-09, 09:35 
>Имеется своя AS, PI /22 , 2 аплинка, все вертится на кваге
>под линухом.
>Хотелось бы следующего (возможно ли такое):
>1. клиенты подсети x.y.z.1/24 ходили всегда через аплинка А, остальные подсети через
>аплинка В. А в случае отвала одного из аплинков все клиенты
>ходили через живого прова

BGP - это то, что управляет входящим трафиком. Очень четко разделить трафик ИМХО будет сложно (некоторая часть трафика пойдет не так, как описано).
Соответственно, надо чтобы блок /22 уходил с большим prepend в аплинки А и В, и отдельно аносировать в A маршрут  x.y.z.0/24.

Далее, надо разрулить наш исходящий трафик.

Первый вариант, который видится - это сделать два маршрутизатора, первый - аплинк А и подсеть x.y.z.0/24, второй - аплинк В и остальные подсети. оба маршрутизатора также имеют соединение друг с другом, и обмениваются маршрутами. Для внешних пиров на каждом из рутеров выставляем повышенный приоритет.  Соответственно, исходящий трафик будет идти приоритетно через маршруты аплинка, а если маршрута нет - то может пойти в соседний маршрутизатор и в аплинк соседа.

Другой вариант - это больше теоретический, потому что этот софт у меня запустить так и не удалось.

есть бгп-рутер bird, который "умеет" (если его удастся запустить) реализовывать два маршрутизатора в одной системе, ведя таблицы маршрутов в разных таблицах ядра (Linux).

Соответственно, есть две таблицы, и в iproute2 задаем какую для какой сети использовать:

типа так:

ip ru add from x.y.z.0/24 lookup uplinkA pref 2000
ip ru add from x.y.q.0/22 lookup uplinkB pref 2020
ip ru add from x.y.q.0/22 lookup uplinkA pref 2030

Поскольку задачи анонса в А маршрутов, полученных от Б - не стоит, то копии маршрутизатора в bird будут независимыми, и друг с другом маршрутами (как в первом варианте) обмениваться не будут. Если в таблице В маршрут к сети найден не будет, то будет произведен поиск в таблице А, а /24 еще до этого отдельно попытается быть отправленной через маршруты аплинкаА.


Третий вариант - использовать FreeBSD с её возможностью FIB (множественные таблицы маршрутизации) и пытаться запустить две копии quagga, привязывая "куда писать маршруты" через setfib.

Насколько мне известно, отсутствие маршрута в первой таблице не приведет к поиску во второй, поэтому в этом случае копии quagga должны будут обмениваться друг с другом маршрутами, аналогично случаю, описанному в первом варианте решения.

Кроме того, первый случай можно реализовать в одной коробке используя что-нибудь вроде Xen.

>2. заворачивать, например, yandex.ru через прова А, а mail.ru через прова В
>

Входящий трафик от "сайтов" пойдет соответственно анонсам маршрутов, исходящий-то вы можете пинать куда хотите - только асимметрия будет.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Quagga и приоритезация каналов, проблемавыбора, 26-Сен-09, 23:11  [смотреть все]
  • BGP - это то, что управляет входящим трафиком Очень четко разделить трафик ИМХО , PavelR, 27-Сен-09, 09:35  (1)
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру