lllsergeyv Posted October 7, 2011 Posted October 7, 2011 (edited) Здравствуйте! Такая ситуация - Есть роутер quagga, настроено BGP, линк к провайдеру(bgp fullview)+ линк к точке обмена трафиком (IX)(bgp). Нужно органиовать подключение клиента по bgp двумя линками(первый - мир, второй - сети IX). Как настроить роутер? Такую схему реально реализовать на Linux или FreeBSD? Edited October 7, 2011 by lllsergeyv Вставить ник Quote
_sirius_ Posted October 7, 2011 Posted October 7, 2011 Мало того, что реально, она элементарная, для IX сделать weight больше и все. Вставить ник Quote
lllsergeyv Posted October 7, 2011 Author Posted October 7, 2011 Мало того, что реально, она элементарная, для IX сделать weight больше и все. А как маршрутизатор определит в какой из двух клиентских линков отправлять пакет? ведь сессий с клиентом две. Вставить ник Quote
mefer Posted October 7, 2011 Posted October 7, 2011 Сессия одна а пакеты могут разными путями идти. Так что лучше не брать в голову. Вставить ник Quote
lllsergeyv Posted October 10, 2011 Author Posted October 10, 2011 Сессия одна а пакеты могут разными путями идти. Так что лучше не брать в голову. С клиентом поднимается две сессии - одна для IX, вторая мир. Со стороны клиента все разруливается легко. А как провайдеру разкидать пакеты в разные линки на клиента? Трафик из мира к его сетям должен идти по одному линку, трафик от наших сетей и IX по второму. Знаю что у многих такое работает. Вставить ник Quote
vurd Posted October 10, 2011 Posted October 10, 2011 (edited) Помечать коммунити префиксы с IX и устанавливать на них локальное предпочтение в сторону клиента. Ерунду сказлал :) Вопрос фактически стоит как узнать, что этот пакет пришел с IX и выбросить его в даунстрим IX-сессию. Единственное, что приходит в голову - повесить на входящий интерфейс с IX роутмап проверяющий сети назначения и меняющий next-hop на ip клиента, но это что-то как-то коряво и не масштабируемо звучит. Edited October 23, 2011 by vurd Вставить ник Quote
lllsergeyv Posted October 11, 2011 Author Posted October 11, 2011 А если создать отдельные таблицы маршрутизации для мира, IX и общая из двух, а потом в соответствии с надобностями привязывать к той или иной таблице нужный интерфейс? Осталось придумать как прикрутить в такой ситуации квагу и как привязать к нужной таблице интерфейс... Вставить ник Quote
vurd Posted October 11, 2011 Posted October 11, 2011 Это setfib+quagga надо искать по всей видимости, в случае freebsd. Вон для птицы сделали патч. Вставить ник Quote
lllsergeyv Posted October 11, 2011 Author Posted October 11, 2011 (edited) Это setfib+quagga надо искать по всей видимости, в случае freebsd. Вон для птицы сделали патч. Сейчас роутер постороен на Linux. В Linux давно есть возможность работать с несколькими таблицами, в демоне zebra можно выбирать таблицу "Command: table tableno 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." BIRD не сильно нравиться, особенно способом конфигурирования..(cisco-like консоль как-то ближе). Кстати, а насколько он стабильно работает? Здесь есть администраторы крупных провайдеров? Поделитесь как такое построенно у Вас? Edited October 11, 2011 by lllsergeyv Вставить ник Quote
martin74 Posted October 11, 2011 Posted October 11, 2011 коммунити... Вешаем на вторую сессию клиента коммунити, а на выходе все, что подпадает под коммунити - отправляем на IX.... Вставить ник Quote
lllsergeyv Posted October 11, 2011 Author Posted October 11, 2011 коммунити... Вешаем на вторую сессию клиента коммунити, а на выходе все, что подпадает под коммунити - отправляем на IX.... Возможно Вы меня не так поняли. У меня проблемма с разделением трафика не от клиента, а "на" клиента.. в мир и IX анонсы и трафик идут правильно, а на клиента трафик из мира и IX весь уходит в один из линков, а должен разделяться: один линк - мир, второй - IX. Вставить ник Quote
wtyd Posted October 12, 2011 Posted October 12, 2011 коммунити... Вешаем на вторую сессию клиента коммунити, а на выходе все, что подпадает под коммунити - отправляем на IX.... Возможно Вы меня не так поняли. У меня проблемма с разделением трафика не от клиента, а "на" клиента.. в мир и IX анонсы и трафик идут правильно, а на клиента трафик из мира и IX весь уходит в один из линков, а должен разделяться: один линк - мир, второй - IX. У вас IX сделан на одной железке с "миром" и эта железка РС с linux+quagga ? Если нет, то vrf, но ещё лучше разнести на разное оборудование IX и "мир". Вставить ник Quote
lllsergeyv Posted October 12, 2011 Author Posted October 12, 2011 коммунити... Вешаем на вторую сессию клиента коммунити, а на выходе все, что подпадает под коммунити - отправляем на IX.... Возможно Вы меня не так поняли. У меня проблемма с разделением трафика не от клиента, а "на" клиента.. в мир и IX анонсы и трафик идут правильно, а на клиента трафик из мира и IX весь уходит в один из линков, а должен разделяться: один линк - мир, второй - IX. У вас IX сделан на одной железке с "миром" и эта железка РС с linux+quagga ? Если нет, то vrf, но ещё лучше разнести на разное оборудование IX и "мир". Железка одна linux+quagga. Насколько я понял нормальной поодержки vrf там нету... только костыли и подпорки... Вставить ник Quote
tros10 Posted October 12, 2011 Posted October 12, 2011 А что мешает метить мир и IX разными комьюнити и фильтровать route-map'ом на выходе к клиенту ? Вставить ник Quote
lllsergeyv Posted October 12, 2011 Author Posted October 12, 2011 А что мешает метить мир и IX разными комьюнити и фильтровать route-map'ом на выходе к клиенту ? Так разделятся ононсы... а трафик как разделить? Вставить ник Quote
tros10 Posted October 12, 2011 Posted October 12, 2011 Сделайте тоже самое и в обратную сторону, с одной сесии анонсите клиента в IX, с другой - в мир. Трафик сам расползется как надо. Вставить ник Quote
vurd Posted October 12, 2011 Posted October 12, 2011 Сделайте тоже самое и в обратную сторону, с одной сесии анонсите клиента в IX, с другой - в мир. Трафик сам расползется как надо. У клиента одна подсеть, скажем 100.0.0.0/21. Вы видите анонсы этой подсети в обеих сессиях с клиентом. Физических канала два, vrf нет. Вставить ник Quote
lllsergeyv Posted October 12, 2011 Author Posted October 12, 2011 Сделайте тоже самое и в обратную сторону, с одной сесии анонсите клиента в IX, с другой - в мир. Трафик сам расползется как надо. У клиента одна подсеть, скажем 100.0.0.0/21. Вы видите анонсы этой подсети в обеих сессиях с клиентом. Физических канала два, vrf нет. Да. В такой ситуации трафик в сторону сети 100.0.0.0/21 весь пойдет в один линк. Вставить ник Quote
wtyd Posted October 13, 2011 Posted October 13, 2011 Сделайте тоже самое и в обратную сторону, с одной сесии анонсите клиента в IX, с другой - в мир. Трафик сам расползется как надо. У клиента одна подсеть, скажем 100.0.0.0/21. Вы видите анонсы этой подсети в обеих сессиях с клиентом. Физических канала два, vrf нет. fw mark пакетов на входе в IX и соответствующий роутинг в IX-ный канал до клиента спомощью iproute2 не рассматривали ? Ещё есть realm'ы, их тоже можно заюзать. Вставить ник Quote
lllsergeyv Posted October 13, 2011 Author Posted October 13, 2011 Сделайте тоже самое и в обратную сторону, с одной сесии анонсите клиента в IX, с другой - в мир. Трафик сам расползется как надо. У клиента одна подсеть, скажем 100.0.0.0/21. Вы видите анонсы этой подсети в обеих сессиях с клиентом. Физических канала два, vrf нет. fw mark пакетов на входе в IX и соответствующий роутинг в IX-ный канал до клиента спомощью iproute2 не рассматривали ? Ещё есть realm'ы, их тоже можно заюзать. Сильно ли возростет загрузка процессора, если маркировать входящие пакеты с IX? Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.