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

quagga балансировка входящего трафика.

Всем привет.

 

Появилась необходимость сделать балансировку входящего трафика между двумя аплинками.

 

Итак, есть два аплинка. Есть сетка 172.16.240.0/23. Делю ее на две сетки /24. Создаю дополнительно в райпе еще два роут обжекта. Для сетей : 172.16.241.0/24 и 172.16.240.0/24.

 

Задача: Присвоить одному из брасов ип из сети 172.16.241.0/24. Т.е пустить его через Ростелеком(rostel). А др брасу ип из сети 172.16.240.0/24. При пропадании одного из каналов, чтобы все переводилось на рабочий аплинк.

 

 

 

 

Вот сам конфиг кваги.

 

router bgp 11922

bgp router-id 172.16.1.1

network 172.16.240.0 mask 255.255.254.0

network 172.16.241.0 mask 255.255.255.0

network 172.16.240.0 mask 255.255.255.0

 

ip prefix-list megafon-out seq 5 permit 172.16.240.0/23

ip prefix-list megafon-out seq 10 permit 172.16.240.0/24

!

ip prefix-list rostel-out seq 5 permit 172.16.240.0/23

ip prefix-list rostel-out seq 10 permit 172.16.241.0/24

!

 

 

nei IP_megafon pref megafon-out out

nei IP_rostel pref rostel-out out

 

nei IP_megafon weight 2000

nei IP_rostel weight 1000

 

 

Все ли правильно? Работоспособен ли данный конфиг?

Edited by zlolotus

Share this post


Link to post
Share on other sites
nei IP_megafon weight 2000

nei IP_rostel weight 1000

 

Так у вас же полностью весь исходняк через мегу полетит с задранным weight.

Остальное верно.

А разве большой перекос по входу? У меня тоже РТК + Мега и входящий разливается поровну без всякой балансировки.

Share this post


Link to post
Share on other sites

Нужно для первого аплинка отдать одну сеть /24, а вторую сеть /24 c двумя препендами.

Для второго аплинка тоже самое, только меняете сети /24 местами.

Share this post


Link to post
Share on other sites

Да я думаю можно смело анонсить один /23 в оба без всяких спецификов,

а если у РТК в регионе есть лишняя автономка перед 12389 то влепить на мегу 1 препенд для выравнивания.

Share this post


Link to post
Share on other sites

Да я думаю можно смело анонсить один /23 в оба без всяких спецификов,

а если у РТК в регионе есть лишняя автономка перед 12389 то влепить на мегу 1 препенд для выравнивания.

 

у двух аплинков запрашиваю дефолт?

Share this post


Link to post
Share on other sites

у двух аплинков запрашиваю дефолт?

 

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

Share this post


Link to post
Share on other sites
у двух аплинков запрашиваю дефолт?

Полную таблицу, weight убрать вообще из конфига.

Share this post


Link to post
Share on other sites

Не поделитесь конфигом как 23 сеть в два канала отправить и что бы трафик шел в оба.

Share this post


Link to post
Share on other sites

а мне бы вход поделить, и без фулл-вью... Принять к примеру, порезанное до /22. Все префиксы попилить на двоих операторов, все остальное - через дефолт гв. Реально ли это? реально ли распеределять нагрузку на вход 500 на одного оператора связи и 50 на другого?

Share this post


Link to post
Share on other sites

Погрешность почти 10%.

Второй канал можно заполнить.

Share this post


Link to post
Share on other sites

А пример конфига можно? догадываюсь, что делается через regexp... но как...

Share this post


Link to post
Share on other sites

router bgp AAAAA
network XXX.YYY.1.0/24
network XXX.YYY.2.0/24
neighbor AAA.BBB.112.45 remote-as BBBBB
neighbor AAA.BBB.112.45 route-map OUT-BBBBB out
neighbor CCC.DDD.116.185 remote-as CCCCC
neighbor CCC.DDD.116.185 route-map OUT-CCCCC out
!
...
ip prefix-list clients-all description All clients
ip prefix-list clients-all seq 10 permit XXX.YYY.1.0/24
ip prefix-list clients-vip description VIP clients
ip prefix-list clients-vip seq 10 permit XXX.YYY.2.0/24
...
route-map OUT-BBBBB permit 100
match ip address prefix-list clients-all
set as-path prepend AAAAA AAAAA
!
route-map OUT-BBBBB permit 200
description -- permit all our prefixes
match ip address prefix-list clients-vip
set as-path prepend AAAAA AAAAA AAAAA
!
route-map OUT-CCCCC permit 100
match ip address prefix-list clients-vip
!
route-map OUT-CCCCC permit 200
description -- permit all our prefixes
match ip address prefix-list clients-all
set as-path prepend AAAAA AAAAA
!

 

AAAAA - своя AS

BBBBB - AS первого аплинка

CCCCC - AS второго аплинка

XXX.YYY.1.0/24, XXX.YYY.2.0/24 - попиленный пополам /23

 

В соответствии с этим примером, блоки /24 будут через разных аплинков светиться с разными препендами, тем самым перераспределяется нагрузка.

Share this post


Link to post
Share on other sites

И где здесь пример для ассиметрии, когда один аплинк толще другого на порядок?

Чтобы залить маленький канал, нужно трудоемкая работа по анализу аплинков и коммьюнити.

Вы готовы её оплатить?

Share this post


Link to post
Share on other sites

Аффигеть какая трудоемкая и дорогостоящая операция по подпорке анонсов препендами со стороны тонкого канала.

Share this post


Link to post
Share on other sites

А я не говорил, что тут препенды помогут :)

Share this post


Link to post
Share on other sites

а мне бы вход поделить, и без фулл-вью... Принять к примеру, порезанное до /22. Все префиксы попилить на двоих операторов, все остальное - через дефолт гв. Реально ли это? реально ли распеределять нагрузку на вход 500 на одного оператора связи и 50 на другого?

Поделить без дропов - не реально с большими скоростями у абонентов... Слишком маленький канал, как вариант отбить комьюнитями всё кроме одного из направлений и смотреть сколько он кушает. Но в случае перестройки маршрутов выше, туда может хлынуть очень много... Для баланса ФВ вам не нужен совсем. Тупо отправляйте исходняк в толстый канал, второй дефолт держите для резерва в случае падения первого. Если будете гонять трафик кого-то из конкретных аплинков своего аплинка, то можно получить и зафилтровать пути только для AS аплинка из коммьюнити.

 

Пример: провайдер А, у него есть коммьюнити на левел3, выставляете ему коммьюнити, заблокировать всё, кроме левел3. Далее ставите префикс лист принимать только дефолт и ас-путь "А Level3 *". А дальше сидите с бубном и смотрите, что бы не перелился.

 

З.Ы. Можно задушить препендами, но это тоже не гарантирует от перелива...

З.З.Ы. Обычно коммьюнити вбираются из расчёта лучшей связанности с оператором. Так можно из двух говно-Интернетов сделать один хороший.

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
Sign in to follow this