Artom_12 Posted September 29, 2012 (edited) Добрый всем день! помогите правильно отбалансировать 3 аплинка по БГП на Микротике. Имеется: 1. DE-IX 2. megafon 3. rostelekom до всех 3х подняты по БГП сесии, подскажите какие фильтры на какую повесить правильнее чтобы работало это на отлично )) требуется собственно сделать чтобы было так: в 1 (De-IX) лилось всё что могло только туда вылиться )), потом мегафон ну и если отваливается мегафон или De-IX то ростелеком (все подключены постоянно), т.е. если есть что взять на "прямую" с ростелекома чтобы это бралось через него а не через рент потом в мегафон..... были фильтры типа: /routing filteradd 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 September 29, 2012 by Artom_12 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
vlad11 Posted September 29, 2012 При 3-х аплинках используйте BGP community Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Artom_12 Posted September 29, 2012 а можно пример для фильтров микротика, а то чтото с этим разобраться не получилось.. и 2ой вопрос, препендами и локал префом это никак не получится? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Artom_12 Posted September 29, 2012 да, забыл написать, планируется подключить еще 1 канал провайдер которого community не разглашает :( Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
vlad11 Posted September 29, 2012 (edited) а можно пример для фильтров микротика, а то чтото с этим разобраться не получилось.. и 2ой вопрос, препендами и локал префом это никак не получится? При трех и более провайдерах понадобятся все методы балансировки нагрузки (на вход и на выход): препенды, вес, локлпреф и коммьюнити. Возможно, придется еще делить ваш блок адресов. По поводу примеров - обращайтесь к ихней документации. Лично у меня не заработали половина примеров, я плюнул и настроил все на квагге. Edited September 29, 2012 by vlad11 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Saab95 Posted September 29, 2012 Поставьте 3 отдельных сервера и балансируйте уже между ними. Это будет проще. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Artom_12 Posted September 30, 2012 Поставьте 3 отдельных сервера и балансируйте уже между ними. Это будет проще. чем мне могут помочь 3 сервера? можно пример а вообще правила фильтрации созданы правильно для моих целей? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
agr Posted October 1, 2012 Рекомендую подойти к решению задачи последовательно и системно. 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 . Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Artom_12 Posted October 3, 2012 Может кто показать вывод того как правильно применить communities на микротик для входа (с аплинка) и вывода? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
vlad11 Posted October 3, 2012 Примеры команд смотрим на оффсайте. А вот как правильно отбалансировать траффик по каналам - нужно смотреть индивидуально. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Artom_12 Posted October 3, 2012 (edited) либо я не там смотрю, либо не то. буду признателен если ткнёте носом.... (я про примеры исп. команд) Edited October 3, 2012 by Artom_12 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
vlad11 Posted October 3, 2012 3 chain=Latnet-in prefix=4.23.113.0/24 invert-match=no action=passthrough set-bgp-communities=64550:14 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Artom_12 Posted October 3, 2012 это как я понимаю на воход? на выход должны выглядеть так? (чтобы промаркировать соединения от одного пастрима) /routing filter add action=passthrough bgp-communities=111:111 chain=Client1-out disabled=no \ invert-match=no Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
vlad11 Posted October 3, 2012 Что-то типа /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 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...