Перейти к содержимому
Калькуляторы

bgp на два провайдера проблема

Народ помогите руки выпрямить.

В общем проблема

есть 2 провайдера

хочу свои подсети транслировать одновременно двум провайдерам.

ISP1 транслирую 1500 IP

ISP2 транслирую 500 IP

 

вот конфиг

router bgp ХХХХХХ

bgp log-neighbor-changes

network 33.133.184.0 mask 255.255.254.0

network 33.133.186.0 mask 255.255.254.0

network 33.133.188.0 mask 255.255.252.0

neighbor ISP1 remote-as ASISP1

neighbor ISP1 weight 65500

neighbor ISP1 prefix-list BGP-IN in

neighbor ISP1 prefix-list BGP-OUT out

neighbor ISP2 remote-as ASISP2

neighbor ISP2 weight 55555

neighbor ISP2 prefix-list BGP-OUT-2prov out

..................................

 

ip route 33.133.184.0 255.255.254.0 Null0 254

ip route 33.133.186.0 255.255.254.0 Null0 254

ip route 33.133.188.0 255.255.252.0 Null0 254

ip route ip route 33.133.184.0 255.255.254.0 IPISP2 (строчку с null 254 убирал и ставил результат нулевой)

!

!

ip prefix-list BGP-IN seq 5 permit 0.0.0.0/0

!

ip prefix-list BGP-OUT seq 5 permit 33.133.186.0/23

ip prefix-list BGP-OUT seq 10 permit 33.133.188.0/22

!

ip prefix-list BGP-OUT-2prov seq 5 permit 33.133.184.0/23

 

 

sh ip bgb

 

 

*> 0.0.0.0 ISP1 65500 asISP1 3356 i

* ISP2 55555 asISP2 20485 i

*> 33.135.184.0/23 ISP2 0 32768 i

*> 33.135.186.0/23 0.0.0.0 0 32768 i

*> 33.135.188.0/22 0.0.0.0 0 32768 i

 

 

По идее всё прям офигенно вроде всё хорошо сеть рулится куда я хочу и по идее всё прям чудно.

НО! ничего не хочет работать... зарулить всё в одного провайдера не проблема сеть работает и всё прям круто.

А вот так не работает...

Может если есть у кого какие настройки с похожей схемой скинте я бы посмотрел по лучше. Потому что идей уже просто нет.

Заранее благодарен.

Изменено пользователем DruGoe_DeLo

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Имхо, манипулировать нормально принимая только дефолт не получится. Сейчас вы от обоих принимаете дефолт, и указываете большой вес на ISP1, конечно все туда польется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Обжекты на все подсети созданы? Может, вас просто вышестоящий провайдер фильтрует?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ip route ip route 33.133.184.0 255.255.254.0 IPISP2 (строчку с null 254 убирал и ставил результат нулевой)

а зачем вот эта строчка в конфиге нужна? И одному провайдеру одну сеть отдавать, а второму две другие это тоже так задумано?

Изменено пользователем artmc

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

manpac правильно сказал. Пробуйте принимать не только дефолт. Если железки не тянут, то фильтруйте все префиксы больше /19, например. При таком раскладе будет тычяч сто маршрутов от каждого из аплинков.

 

Команда ip route 33.133.184.0 255.255.254.0 IPISP2 непонятно зачем нужна. Удалите её.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну если маршрут не прописать

ip route 33.133.184.0 255.255.254.0 IPISP2

то он эту подсеть не смотря на фильтры всё равно гонит через ISP1 я решил что лучше прописать его жёстко.

Так случилось что у ISP2 я тоже работаю и там я не фильтрую пакет.

и получаю эту сетку

*> 333.133.184.0/23 199.199.199.242

 

и отдаю её магистральному провайдеру через фильтр. Но отдаю всю сеть на 2000 адресов так как если там ложится магистральный пров они пойдут через нас

ip prefix-list SVT-out seq 25 permit 33.133.184.0/21

 

ip route ip route 33.133.184.0 255.255.254.0 IPISP2 (строчку с null 254 убирал и ставил результат нулевой)

а зачем вот эта строчка в конфиге нужна? И одному провайдеру одну сеть отдавать, а второму две другие это тоже так задумано?

 

Да именно так и задуманно. Активно использовать два линка. Так как если использовать только один канал начинает просидать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Обжекты на все подсети созданы? Может, вас просто вышестоящий провайдер фильтрует?

да объекты созданы route на рипе прописаны. В этом плане всё тип топ.

 

manpac правильно сказал. Пробуйте принимать не только дефолт. Если железки не тянут, то фильтруйте все префиксы больше /19, например. При таком раскладе будет тычяч сто маршрутов от каждого из аплинков.

 

Команда ip route 33.133.184.0 255.255.254.0 IPISP2 непонятно зачем нужна. Удалите её.

 

от ISP2 я не фильтрую пакеты принимаю как бы всё фильтрую только ISP1 (через ISP1 всё прекрасно работает)

эту строчка удалена я просто показал что я маршрут указывал жестко через ISP2 но даже так всё было глухо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Для полноты картины привожу конфиг как всё это выглядит на стороне ISP2

 

router bgp YYYYY

no synchronization

bgp log-neighbor-changes

network 88.188.16.0 mask 255.255.240.0

network 99.111.210.0 mask 255.255.255.0

network 99.111.211.0 mask 255.255.255.0

network 99.111.228.0 mask 255.255.255.0

neighbor 199.53.47.242 remote-as ASISPkomp

neighbor 199.53.47.242 weight 65000

neighbor 222.190.47.30 remote-as ASISPmagis

neighbor 222.190.47.30 weight 65500

neighbor 222.190.47.30 prefix-list DEFAULT in

neighbor 222.190.47.30 prefix-list SVT-out out

 

ip prefix-list DEFAULT seq 5 permit 0.0.0.0/0

!

ip prefix-list YYY-out seq 5 permit 99.111.228.0/24

ip prefix-list YYY-out seq 10 permit 99.111.210.0/24

ip prefix-list YYY-out seq 15 permit 99.111.211.0/24

ip prefix-list YYY-out seq 20 permit 80.160.16.0/20

ip prefix-list YYY-out seq 25 permit 33.133.184.0/21

 

ну строчки ip route 99.111.210.0 255.255.255.0 Null0 254 не пишу это очевидно (они в общем прописаны)

 

команда sh ip bgp

 

*> 0.0.0.0 222.190.47.30 (ISPmagist) 0

*> 33.133.184.0/23 199.53.47.242 0

*> 81.161.16.0/20 0.0.0.0 0

*> 99.111.210.0/24 0.0.0.0 0

*> 99.111.211.0/24 0.0.0.0 0

*> 99.111.228.0/24 0.0.0.0 0

Изменено пользователем DruGoe_DeLo

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ISP2 хоть и видит вашу сеть, исходящий трафик от вас все равно идет на ISP1(best route на 0.0.0.0). Если вы от ISP2 принимаете все, тогда почему не видно у вас сетей от него

> 81.161.16.0/20 0.0.0.0 0

*> 99.111.210.0/24 0.0.0.0 0

*> 99.111.211.0/24 0.0.0.0 0

*> 99.111.228.0/24 0.0.0.0 0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ISP2 хоть и видит вашу сеть, исходящий трафик от вас все равно идет на ISP1(best route на 0.0.0.0). Если вы от ISP2 принимаете все, тогда почему не видно у вас сетей от него

> 81.161.16.0/20 0.0.0.0 0

*> 99.111.210.0/24 0.0.0.0 0

*> 99.111.211.0/24 0.0.0.0 0

*> 99.111.228.0/24 0.0.0.0 0

 

сори это я их просто не скопировал

он видит всё нормуль

 

но когда я его прописывал вот так

ip route 33.133.184.0 255.255.254.0 IPISP2у него бест маршрут был как рас как надо

но всё равно он не ходил как мне хотелось

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

33.133.184.0 это же ваша сеть, зачем трафик на нее отправлять в ISP2 ? Попробуйте написать PBR, и для source адресов 33.133.184.0/23 указать next-hop`ом ISP2

Изменено пользователем manpac

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

maximum-paths 2

bgp bestpath as-path multipath-relax

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

maximum-paths 2

bgp bestpath as-path multipath-relax

а можно по подробнее как это командочка работает?

я так понимаю оно делает что-то

балансит по нескольким маршрутам с разными ASPaths.

 

Т.е. как она как бы работает а каких условиях и как она определяет кого куда рулить.

Я натыкался как-то на такую команду но не придал значения...

 

 

И... с каких версиях ios она поддерживается, я сейчас посмотрел на кошках такой команды нетю :(

Изменено пользователем DruGoe_DeLo

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Для ISP2 нет входящего фильтра. А фильтровать серые и свои сети на входе надо обязательно.

Чтоб равномерно выход раскидать, надо от провайдеров принимать больше сетей, чем просто дефолт.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да именно так и задуманно. Активно использовать два линка. Так как если использовать только один канал начинает просидать.

 

Если вы хотите активно использовать оба линка, вам нужно отдавать все сети каждому из провайдеров. Канал просидает из за исходящего трафика или входящего?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да именно так и задуманно. Активно использовать два линка. Так как если использовать только один канал начинает просидать.

 

Если вы хотите активно использовать оба линка, вам нужно отдавать все сети каждому из провайдеров. Канал просидает из за исходящего трафика или входящего?

из-за входящего для клиентов.

А я и так сети все отдаю серых сетей нет. Только белые IP дело не втом сколько я отдаю или принмаю. я могу и фул вью принимать и быть магистральным оборудование позволяет и даже курить не начнёт. Дело в том что не работает маршрут который я задаю. Не работает именно трансляция как мне надо. Я и спросил совета у людей мож кто делал так. Разруливал свои сети на два провайдера одновременно. И могли бы они выложить боевой конфиг чтобы посмотреть толи я вообще делаю или нет. Потому как вроде кажется что рассуждаю правильно а где-то затык... пробывал строить роут мапы но после неудчной попытки 500 пользователей просто взорвали телефон за 5 минут. Поэтому шибко крутых тестов не могу производить. Всё делается аккуратно по возможности. Тем более я не думаю что это схема какаято мудрённая я считаю это классика только вот никак не могу эту классику найти в примерах чтобы подчерпнуть знания.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

тога я думаю что должно быть как то так

 

router bgp ХХХХХХ

network 33.133.184.0 mask 255.255.254.0

network 33.133.186.0 mask 255.255.254.0

network 33.133.188.0 mask 255.255.252.0

 

neighbor ISP1 remote-as ASISP1

neighbor ISP1 prefix-list BGP-OUT out

neighbor ISP2 remote-as ASISP2

neighbor ISP2 prefix-list BGP-OUT out

 

 

ip route 33.133.184.0 255.255.254.0 Null0

ip route 33.133.186.0 255.255.254.0 Null0

ip route 33.133.188.0 255.255.252.0 Null0

!

!

ip prefix-list BGP-OUT seq 5 permit 33.133.186.0/23

ip prefix-list BGP-OUT seq 10 permit 33.133.188.0/22

ip prefix-list BGP-OUT seq 15 permit 33.133.184.0/23

 

смотрим как распределяется входящий трафик, если есть перекос пробуем балансировать через as-prepend

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

maximum-paths 2

bgp bestpath as-path multipath-relax

а можно по подробнее как это командочка работает?

я так понимаю оно делает что-то

балансит по нескольким маршрутам с разными ASPaths.

 

Т.е. как она как бы работает а каких условиях и как она определяет кого куда рулить.

Я натыкался как-то на такую команду но не придал значения...

 

 

И... с каких версиях ios она поддерживается, я сейчас посмотрел на кошках такой команды нетю :(

для обеспечения балансировки по двум дефолтам (0.0.0.0) от разных провайдеров.

bgp bestpath as-path multipath-relax - это скрытая команда.

http://blog.alwaysthenetwork.com/tutorials/bgp-multipath-relax/

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В общем спасибо за объяснения сёдня ближе к ночи или завтро рано утром попробую эту командочку. И обязательно отпишусь как оно получилось.

У меня ещё такой вопрос чисто для уточнения. Судя по последней ссылке я так понял что веса (weight) либо не указывать либо указать равные. Или это не имеет значения?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В общем спасибо за объяснения сёдня ближе к ночи или завтро рано утром попробую эту командочку. И обязательно отпишусь как оно получилось.

У меня ещё такой вопрос чисто для уточнения. Судя по последней ссылке я так понял что веса (weight) либо не указывать либо указать равные. Или это не имеет значения?

Я думаю надо оставить равные. В свое время проверял команду с равными весами, делился трафик почти поровну.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Так ну как и обещал рано утром потестил. в таблице маршрутов бест маршрутами стали два ISP. Но судя по графику нагрузки на канал показал что пошёл только исходящий трафик входящий показывал 0. я думаю что дело в том что я одну подсеть (нужную мне) транслирую и на ISP1 и на ISP2 к сожалению проверить этот момент не хватило времени так как начался рабочий день у юриков и пришлось воротить все в зад. Но тем не менее командочка рабочая и уже есть хоть какой-то результат так скажем половина цели достигнута. Думаю что проблема в том я транслирую эту подсеть одновременно 2-ум ISP. как только я уберу её от ISP1, то думаю что все заработает как положено. Это я смогу проверить только либо в воскресение или же во вторник утром. Раньше физически не получается: разъезды, выезды, да и дела семейные никто не отменял. В общем отпишусь чуть позже. Если тест пройдет положительно, то я напишу уже решение и тему можно считать закрытой. Но пока можете писать свои мысли и идеи.

Ну как-то так.

P.S. да, забыл отписать что веса я убрал. То есть веса cisco выставило по своему дефолту sh ip bgp показал что параметр weight равен 0. А как только я веса вернул в прежнее состояние то заработало как и без этих команд.

Изменено пользователем DruGoe_DeLo

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В общем всё очень печально.

Провёл тест. Ничего не получилось.

И тут мы решили просто пустить весь траф через ISP2. И... какого же было моё удивление что трафик не куда не пошел. Пришел к выводу что надо будет звонить своему провайдеру и спрашивать пропускают ли они сети наших соседей...

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

post-99726-053143100 1354771240_thumb.jpg

И так.

На рисунке показана физическая схема соединения. (на красные точки не обращайте внимания рисовал схемку в эмуляторе).

И так.

router 1 AS200 имеет следующие настройки.

router bgp 200

no synchronization

bgp log-neighbor-changes

network 88.168.86.0 mask 255.255.240.0

network 98.227.210.0 mask 255.255.255.0

network 98.227.211.0 mask 255.255.255.0

network 98.227.228.0 mask 255.255.255.0

neighbor 189.43.47.242 remote-as 200

neighbor 189.43.47.242 weight 65000

neighbor 219.150.47.30 remote-as ASTRANS

neighbor 219.150.47.30 weight 65500

neighbor 219.150.47.30 prefix-list DEFAULT in

neighbor 219.150.47.30 prefix-list OUT-out out

no auto-summary

 

 

ip route 88.161.16.0 255.255.240.0 Null0 254

ip route 98.227.210.0 255.255.255.0 Null0 254

ip route 98.227.211.0 255.255.255.0 Null0 254

ip route 98.227.228.0 255.255.255.0 Null0 254

 

ip prefix-list DEFAULT seq 5 permit 0.0.0.0/0

 

ip prefix-list OUT-out seq 5 permit 98.227.228.0/24

ip prefix-list OUT-out seq 10 permit 98.227.210.0/24

ip prefix-list OUT-out seq 15 permit 98.227.211.0/24

ip prefix-list OUT-out seq 20 permit 88.161.16.0/20

ip prefix-list OUT-out seq 25 permit 38.138.184.0/21 # это я делаю для того чтобы было разрешено выход в интернет нашим соседям через нас (загоняю всю ихнию подсеть)

 

#sh ip bgp

   Network          Next Hop            Metric LocPrf Weight Path
*> 0.0.0.0          219.150.47.30            0         65500 ASTRANS i
*> 38.138.184.0/23  189.43.47.242            0         65000 100 i
*> 88.161.16.0/20   0.0.0.0                  0         32768 i
*> 98.227.210.0/24  0.0.0.0                  0         32768 i
*> 98.227.211.0/24  0.0.0.0                  0         32768 i
*> 98.227.228.0/24  0.0.0.0                  0         32768 i

 

на роуторе 2 AS100 следующие астройки

router bgp 100
bgp log-neighbor-changes
bgp bestpath as-path multipath-relax
network 38.138.184.0 mask 255.255.254.0
network 38.138.186.0 mask 255.255.254.0
network 38.138.188.0 mask 255.255.252.0
neighbor 58.25.65.105 remote-as ASMFN
neighbor 58.25.65.105 prefix-list BGP-IN in
neighbor 58.25.65.105 prefix-list BGP-OUT out
neighbor 189.43.47.241 remote-as 200
neighbor 189.43.47.241 prefix-list BGP-OUT-as200 out
maximum-paths 2

 

Ну вроде все как говориться ок. Я хочу чтобы 1 подсеть ходила через AS200 в интернет ASTRANS

 

Транслируемая сеть поделена на подсети для раздачи IP юрикам и физикам

ip route 38.138.184.0 255.255.254.0 Null0 254
ip route 38.138.186.0 255.255.254.0 Null0 254
ip route 38.138.188.0 255.255.252.0 Null0 254

ip prefix-list BGP-IN seq 5 permit 0.0.0.0/0
!
ip prefix-list BGP-OUT seq 5 permit 38.138.186.0/23
ip prefix-list BGP-OUT seq 10 permit 38.138.188.0/22
!
ip prefix-list BGP-OUT-as200 seq 5 permit 38.138.184.0/23

 

#sh ip bgp

*m  0.0.0.0         188.43.47.241
*>                  58.25.65.105 
*> 38.138.184.0/23  0.0.0.0      
*> 38.138.186.0/23  0.0.0.0      
*> 38.138.188.0/22  0.0.0.0      
*> 88.161.16.0/20   189.43.47.241
*> 98.227.210.0/24  189.43.47.241
*> 98.227.211.0/24  189.43.47.241
*> 98.227.228.0/24  189.43.47.241

 

При таком раскладе и судя по графика получается что через MFN инет входит

а через TRANS выходит...

 

Кароче я уже сломал голову. Точнее у меня падают подозрения что провайдер TRANS рубит подсети AS100.

 

 

P.S. IP изменены или придуманы.

Изменено пользователем DruGoe_DeLo

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас