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

Mikrotik 3 BGP

Добрый всем день!

помогите правильно отбалансировать 3 аплинка по БГП на Микротике.

 

Имеется:

1. DE-IX

2. megafon

3. rostelekom

 

до всех 3х подняты по БГП сесии, подскажите какие фильтры на какую повесить правильнее чтобы работало это на отлично ))

требуется собственно сделать чтобы было так:

в 1 (De-IX) лилось всё что могло только туда вылиться )), потом мегафон ну и если отваливается мегафон или De-IX то ростелеком (все подключены постоянно), т.е. если есть что взять на "прямую" с ростелекома чтобы это бралось через него а не через рент потом в мегафон.....

 

были фильтры типа:

 

/routing filter

add action=accept chain=deixbgpout disabled=no invert-match=no prefix=x.x.x.x/x set-bgp-prepend=1 set-bgp-prepend-path=""

add action=discard chain=deixbgpout disabled=no invert-match=no set-bgp-prepend-path=""

add action=accept chain=deixbgpout disabled=no invert-match=no set-bgp-local-pref=6000 set-bgp-prepend-path=""

add action=discard chain=deixbgpin disabled=no invert-match=no prefix=x.x.x.x/x set-bgp-prepend-path=""

add action=accept chain=deixbgpin disabled=no invert-match=no set-bgp-local-pref=6000 set-bgp-prepend-path=""

 

 

add action=accept chain=megafonbgpout disabled=no invert-match=no prefix=x.x.x.x/x set-bgp-prepend=4 set-bgp-prepend-path=""

add action=discard chain=megafonbgpout disabled=no invert-match=no set-bgp-prepend-path=""

add action=accept chain=megafonbgpout disabled=no invert-match=no set-bgp-local-pref=3000 set-bgp-prepend-path=""

add action=discard chain=megafonbgpin disabled=no invert-match=no prefix=x.x.x.x/x set-bgp-prepend-path=""

add action=accept chain=megafonbgpin disabled=no invert-match=no set-bgp-local-pref=3000 set-bgp-prepend-path=""

 

 

add action=accept chain=rostelbgpout disabled=no invert-match=no prefix=x.x.x.x/x set-bgp-prepend=8 set-bgp-prepend-path=""

add action=discard chain=rostelbgpout disabled=no invert-match=no set-bgp-prepend-path=""

add action=accept chain=rostelbgpout disabled=no invert-match=no set-bgp-local-pref=1000 set-bgp-prepend-path=""

add action=discard chain=rostelbgpin disabled=no invert-match=no prefix=x.x.x.x/x set-bgp-prepend-path=""

add action=accept chain=rostelbgpin disabled=no invert-match=no set-bgp-local-pref=1000 set-bgp-prepend-path=""

 

 

правильно ли созданы фильтры?

Edited by Artom_12

Share this post


Link to post
Share on other sites

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

и 2ой вопрос, препендами и локал префом это никак не получится?

Share this post


Link to post
Share on other sites

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

и 2ой вопрос, препендами и локал префом это никак не получится?

 

При трех и более провайдерах понадобятся все методы балансировки нагрузки (на вход и на выход): препенды, вес, локлпреф и коммьюнити.

Возможно, придется еще делить ваш блок адресов.

 

По поводу примеров - обращайтесь к ихней документации.

Лично у меня не заработали половина примеров, я плюнул и настроил все на квагге.

Edited by vlad11

Share this post


Link to post
Share on other sites

Поставьте 3 отдельных сервера и балансируйте уже между ними. Это будет проще.

 

чем мне могут помочь 3 сервера? можно пример

а вообще правила фильтрации созданы правильно для моих целей?

Share this post


Link to post
Share on other sites

Рекомендую подойти к решению задачи последовательно и системно.

 

1. Безотносительно Mikrotik и RouterOS вам нужно осознавать следующие факты:

а) Пакеты маршрутизируются по IP адресу НАЗНАЧЕНИЯ

б) BGP атрибут Local_Preference имеет больший вес при выборе маршрута, чем атрибут AS_PATH.

в) Атрибут Localpref не передается за пределы AS, но некоторые магистралы предоставляют возможность управления localpref'ом через community.

г) Вне зависимости от протокола маршрутизации и атрибутов маршрута наиболее приоритетным будет маршрут с более длинной маской

 

2. Из вышеописанных аксиом следуют выводы:

а) => ПРИНИМАЕМЫЕ маршруты влияют на ИСХОДЯЩИЙ трафик, АНОНСИРУЕМЫЕ маршруты влияют на ВХОДЯЩИЙ трафик.

б) и в) => средствами BGP вы можете полностью управлять ИСХОДЯЩИМ трафиком, и ограниченно ВХОДЯЩИМ.

в) и г) => вы можете преодолеть влияние аплинковского localpref либо дробя свои сети на более мелкие префиксы, либо меняя его(localpref) через выставление community, если аплинк предоставляет такую возможность.

 

3. Из полученных выводов должен возникнуть посыл к действию:

а) Для направления ИСХОДЯЩЕГО трафика с разным приоритетом по разным аплинкам вы должны вешать повышенный localpref на более приоритетного аплинка на ВХОДЯЩИХ анонсах. Т.е. порядок уменьшения localpref должен быть DE-iX => Megafon => РТК.

б) Для получения ВХОДЯЩЕГО трафика, если аплинк поддерживает управление localpref через community (это можно посмотреть в описании AS аплинка в RIPE), должны ставить на АНОНСИРУЕМЫХ к наименее приоритетному аплинку(РТК в вашем случае) маршрутах community, соответствующее наименьшему localpref.

в) Для получения ВХОДЯЩЕГО трафика, если аплинк НЕ поддерживает управление localpref через community, дробите сети на специфики и АНОНСИРУЕТЕ специфики более приоритетному аплинку.

 

4. Когда четко осознаете какие действия нужно осуществить в вашей конкретной ситуации, то только тогда уже читайте документацию и составляйте конфиг применительно к конкретному вендору - в вашем случае Mikrotik. Роутинговые политики в нем настраиваются довольно примитивно - http://wiki.mikrotik.com/wiki/Manual:Routing/Routing_filters .

Share this post


Link to post
Share on other sites

Примеры команд смотрим на оффсайте.

А вот как правильно отбалансировать траффик по каналам - нужно смотреть индивидуально.

Share this post


Link to post
Share on other sites

либо я не там смотрю, либо не то. буду признателен если ткнёте носом.... (я про примеры исп. команд)

Edited by Artom_12

Share this post


Link to post
Share on other sites

это как я понимаю на воход?

 

на выход должны выглядеть так? (чтобы промаркировать соединения от одного пастрима)

 

/routing filter

add action=passthrough bgp-communities=111:111 chain=Client1-out disabled=no \

invert-match=no

Share this post


Link to post
Share on other sites

Что-то типа

/routing filter
add chain=bgp-static-out action=accept prefix=XX.1XX.0.0/19 prefix-length=19-24
add chain=bgp-local-out protocol=static match-chain=bgp-static-out set-bgp-communities=11280:115
add chain=bgp-out locally-originated-bgp=yes invert-match=no action=jump jump-target=bgp-local-out
add chain=bgp-out action=accept bgp-communities=11280:115
add chain=bgp-out action=discard

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.