URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID6
Нить номер: 22226
[ Назад ]

Исходное сообщение
"Нужна помощь! BGP 2a провайдера."

Отправлено digore4ek , 09-Фев-11 16:27 
Доброго времени суток!

Суть вопроса!!!

Есть два провайдера:
- Провайдер №1 - предоставляет канал 110 МБит/c, unlim;
- Провайдер №2 - предоставляет канал 100 МБит/c, с предоплаченным трафиком в 60 гигов, при перелимите 20$ за последующий гиг. Самое важное, что не тарифицируется трафик на внутрение ресурсы Провайдера №2. На эти ресурсы нам надо сливать порядка 40-60 МБит/c трафика.
- Провайдер №3 - резервный канал 40 МБит/с, не очень хороший.

Как на BGP реализовать следующий вариант:
- трафик c AS Провайдера №2 отправлять в канал этого провайдера, весь остальной трафик отправлять в канал Провайдера №1
- при падении канала Провайдера №1, нужно иметь возможность зарулить трафик в канал Провайдера №2, только не автоматом, а вручную.(а то много денег улетит!!!)
- при проподании канала Провайдера №2, трафик не переливать в др. канал.
- при загрузки канала Провайдера №1 заливать остальное в канал Провайдера №3

Народ подскажите как такое реализовать!


Содержание

Сообщения в этом обсуждении
"Нужна помощь! BGP 2a провайдера."
Отправлено den , 10-Фев-11 00:50 
1. если вы используете bgp то каналы по трафику это нонсенс.
2. протокол BGP не оперирует загруженостю канала, поэтому любые варианты c "при загрузки канала ..."
3. если у провадера 2 есть бесплатные сети, то вам нужно анонсить свои префиксы только им, это можно реализовать с помощью коммунити (если таковы имеются у провайдера 2). И исходящий трафик на эти сети направлять через провайдера 2, достигается путем увеличения local pref на префикс.
4. при использовании BGP понятие завренуть вручную - нонсенс, так как вы сводите все к статике и функции BGP не имеют смысла.
5. резервирование и балансинг трафик немного разные понятия.

PS:
1. поменяйте канал 2 на безлимит.
2. откажитесть от канала 3 если он не очень, так как BGP подразумевает асиметрию каналов, отсюда имея проблемы в одном, вы имеете проблемы со всем интернетом.
3. если канал 2 все таки нужен, то его можно использовать только доступа к пиринговым сетям.


"Нужна помощь! BGP 2a провайдера."
Отправлено Semop , 10-Фев-11 16:50 
Основа, дальше сам крути.

router bgp XYZ
redistribute static route-map stat2bgp
neighbor x.x.x.x remote-as X
neighbor x.x.x.x route-map out-x out
neighbor y.y.y.y remote-as Y
neighbor y.y.y.y route-map out-Y out
neighbor y.y.y.y prefix-list deny-default in
no auto-summary


ip route 1.1.1.0 255.255.255.0 Null0 250
ip route 2.2.2.0 255.255.255.0 Null0 250

ip prefix-list deny-default seq 10 deny 0.0.0.0/32

ip prefix-list route_x seq 10 permit 1.1.1.0/24

ip prefix-list route_y seq 10 permit 2.2.2.0/24


route-map out-x permit 10
match ip address prefix-list route_x
set local-preference 150

route-map out-x permit 20
match ip address prefix-list route_y
set local-preference 100

route-map out-y permit 10
match ip address prefix-list route_x
set local-preference 150

route-map out-y permit 20
match ip address prefix-list route_y
set local-preference 100


route-map stat2bgp permit 10
match ip address prefix-list route_x

route-map stat2bgp permit 20
match ip address prefix-list route_y

------------------------
Адвертайзы сделаны хитро (редистрибьюцией статики), а не network'ом.
Получается на AS - X анонсируется 1.1.1.0/24
На Y - 2.2.2.0/24
Дефолт прилетает от X только.(можно отказаться, но тут типа за безлимитным он живет)
Префикс листы справедливы для анонсов как RIPE сетей, так и мелких которые ты можешь разбивать.

Довольно гибкий конфиг.
В префикс листах в младших строчках указать надо свои супер сети для анонсов.
А далее начиная с 100 например, можно рутить хоть /30 сетки.
Добавляя или удаляя сети не задевая и дергая BGP:
------ есть ------
ip route 1.1.1.0 255.255.255.0 Null0 250
ip route 2.2.2.0 255.255.255.0 Null0 250
--- добавляем ---
ip route 1.1.1.96 255.255.255.252 Null0 250
ip prefix-list route_y seq 100 permit 1.1.1.96/30

И у тебя сетка 1.1.1.96/30 начинает жить за Y, а все остальное (1.1.1.0/24) за X.

Разберись в конфиге. Тут все просто.


"Нужна помощь! BGP 2a провайдера."
Отправлено digore4ek , 11-Фев-11 11:17 
>[оверквотинг удален]
> Добавляя или удаляя сети не задевая и дергая BGP:
> ------ есть ------
> ip route 1.1.1.0 255.255.255.0 Null0 250
> ip route 2.2.2.0 255.255.255.0 Null0 250
> --- добавляем ---
> ip route 1.1.1.96 255.255.255.252 Null0 250
> ip prefix-list route_y seq 100 permit 1.1.1.96/30
> И у тебя сетка 1.1.1.96/30 начинает жить за Y, а все остальное
> (1.1.1.0/24) за X.
> Разберись в конфиге. Тут все просто.

В принципе понятно!
Предлагаете с Райпа вытащить сети AS провайдеров, прописать через префиксы. А дефолтный маршрут будет приходить с AS X?

Вот конф который на данный момент у нас работает. Только ни как не могу понять как коммунити отрабатываю? Помогите плз!

router bgp xxxxx
no synchronization
bgp log-neighbor-changes
network 77.xxx.32.0 mask 255.255.248.0
network 77.xxx.40.0 mask 255.255.248.0
network 88.xxx.176.0 mask 255.255.248.0
network 188.xxx.152.0 mask 255.255.248.0
; Лимитный канал, вот сюда сливается только Казахстанский трафик.
neighbor 82.200.158.42 remote-as 9198    
neighbor 82.200.158.42 description ------Kazakhtelecom------
neighbor 82.200.158.42 ebgp-multihop 2
neighbor 82.200.158.42 update-source Loopback0
neighbor 82.200.158.42 timers 20 60
neighbor 82.200.158.42 send-community
neighbor 82.200.158.42 soft-reconfiguration inbound
neighbor 82.200.158.42 prefix-list Global_in in
neighbor 82.200.158.42 prefix-list Global_out_2KZT out
neighbor 82.200.158.42 route-map from_KZT_2 in
neighbor 82.200.158.42 route-map LocalOnly out
; Ну а это "Анлим"
neighbor 217.196.16.1 remote-as 35104    
neighbor 217.196.16.1 description -----------KazTransCom-----------
neighbor 217.196.16.1 ebgp-multihop 7
neighbor 217.196.16.1 update-source Loopback0
neighbor 217.196.16.1 soft-reconfiguration inbound
neighbor 217.196.16.1 prefix-list Global_in in
neighbor 217.196.16.1 prefix-list Global_out out
neighbor 217.196.16.1 route-map LocalOnly out
no auto-summary

#sh ip prefix-list
ip prefix-list Global_in: 5 entries
   seq 10 deny 10.0.0.0/8 le 32
   seq 20 deny 172.16.0.0/12 le 32
   seq 30 deny 192.168.0.0/16 le 32
   seq 45 permit 0.0.0.0/0
   seq 50 permit 0.0.0.0/0 ge 8 le 24
ip prefix-list Global_out: 4 entries
   seq 5 permit 88.xxx.176.0/21
   seq 10 permit 77.xxx.32.0/21
   seq 12 permit 77.xxx.40.0/21
   seq 13 permit 188.xxx.152.0/21
ip prefix-list Global_out_2KZT: 4 entries
   seq 5 permit 88.xxx.176.0/21
   seq 50 permit 77.xxx.32.0/21
   seq 95 permit 188.xxx.152.0/21
   seq 140 permit 77.xxx.40.0/21

#sh ip community-list
Named Community standard list comm_from_kzt
    permit 9198:5200
    permit 9198:5210
    permit 9198:5990
    permit 9198:5801
    permit 9198:5802
    permit 9198:5803
    permit 9198:5804
    permit 9198:5805
    permit 9198:5806
    permit 9198:5807
    permit 9198:5808
    permit 9198:5809
    permit 9198:5810
    permit 9198:5811
    permit 9198:5812
    permit 9198:5813
    permit 9198:5814
    permit 9198:5815
    permit 9198:5816
    permit 9198:5817
    permit 9198:5818

#sh route-map
route-map from_KZT_2, permit, sequence 10
  Match clauses:
    community (community-list filter): comm_from_kzt
  Set clauses:
  Policy routing matches: 0 packets, 0 bytes
route-map LocalOnly, permit, sequence 10
  Match clauses:
    as-path (as-path filter): 5
  Set clauses:
    community 9198:3000
  Policy routing matches: 0 packets, 0 bytes

При такой конфигурации работает, так:
1. трафик AS9198 уходит в канал этой автономки
2. Весь остальной трафик в канал атономки AS35104

При затыке канала AS35104, делаем
no neighbor 82.200.158.42 route-map from_KZT_2 in
no neighbor 82.200.158.42 route-map LocalOnly out
clear ip bgp  82.200.158.42 soft
и весь трафик начинает литься в AS9198

Я не пойму откуда Роутер знает сети автономки AS9198???


"Нужна помощь! BGP 2a провайдера."
Отправлено digore4ek , 11-Фев-11 10:49 
> 1. если вы используете bgp то каналы по трафику это нонсенс.

Тем не менее такое в Казахстане практикуется! Цена варьируется за 1 мег безлима от 350$ до 500$, в зависимости от объёмов.

> 2. протокол BGP не оперирует загруженостю канала, поэтому любые варианты c "при
> загрузки канала ..."
> 3. если у провадера 2 есть бесплатные сети, то вам нужно анонсить
> свои префиксы только им, это можно реализовать с помощью коммунити (если
> таковы имеются у провайдера 2). И исходящий трафик на эти сети
> направлять через провайдера 2, достигается путем увеличения local pref на префикс.

Я интересовался у провайдера, вот настройки которые на их стороне:

router bgp XXXX
  neighbor 88.151.176.41 remote-as YYYYY
  neighbor 88.151.176.41 ebgp-multihop 2
  neighbor 88.151.176.41 update-source Loopback0

  address-family ipv4
   neighbor 88.xxx.176.41 activate
   neighbor 88.xxx.176.41 send-community
   neighbor 88.xxx.176.41 remove-private-as
   neighbor 88.xxx.176.41 prefix-list sky in


ip prefix-list sky permit 77.xxx.32.0/20 le 24
ip prefix-list sky permit 88.xxx.176.0/21 le 24
ip prefix-list sky permit 188.xxx.152.0/21 le 24

ни каких коммунити


> 4. при использовании BGP понятие завренуть вручную - нонсенс, так как вы
> сводите все к статике и функции BGP не имеют смысла.

Ниже выложу конф, на данный момент как это работает, там при удалении РоутМапов происходит переключение. :))

> 5. резервирование и балансинг трафик немного разные понятия.
> PS:
> 1. поменяйте канал 2 на безлимит.
> 2. откажитесть от канала 3 если он не очень, так как BGP
> подразумевает асиметрию каналов, отсюда имея проблемы в одном, вы имеете проблемы
> со всем интернетом.

так и сделаю!!!
> 3. если канал 2 все таки нужен, то его можно использовать только
> доступа к пиринговым сетям.


"Нужна помощь! BGP 2a провайдера."
Отправлено universite , 14-Фев-11 00:02 
> Доброго времени суток!
> Суть вопроса!!!
> Есть два провайдера:
> - Провайдер №1 - предоставляет канал 110 МБит/c, unlim;

поставить на него дефолт и анаонсить через него свой префикс

> - Провайдер №2 - предоставляет канал 100 МБит/c, с предоплаченным трафиком в
> 60 гигов, при перелимите 20$ за последующий гиг. Самое важное, что
> не тарифицируется трафик на внутрение ресурсы Провайдера №2. На эти ресурсы
> нам надо сливать порядка 40-60 МБит/c трафика.

принимать от него только роуты на внутренние ресурсы

> - Провайдер №3 - резервный канал 40 МБит/с, не очень хороший.

выставить на него побольше препенд, анонсить свой префикс



"Нужна помощь! BGP 2a провайдера."
Отправлено digore4ek , 14-Фев-11 00:55 
>[оверквотинг удален]
>> Есть два провайдера:
>> - Провайдер №1 - предоставляет канал 110 МБит/c, unlim;
> поставить на него дефолт и анаонсить через него свой префикс
>> - Провайдер №2 - предоставляет канал 100 МБит/c, с предоплаченным трафиком в
>> 60 гигов, при перелимите 20$ за последующий гиг. Самое важное, что
>> не тарифицируется трафик на внутрение ресурсы Провайдера №2. На эти ресурсы
>> нам надо сливать порядка 40-60 МБит/c трафика.
> принимать от него только роуты на внутренние ресурсы
>> - Провайдер №3 - резервный канал 40 МБит/с, не очень хороший.
> выставить на него побольше препенд, анонсить свой префикс

Мысли такие были, сдлать именно так!!! Спасибо за совет!
Живую систему не хочу дёргать, пока не раберусь с настройками "КОММУНИТИ", предыдущих админов.



"Нужна помощь! BGP 2a провайдера."
Отправлено Semop , 14-Фев-11 09:10 

>[оверквотинг удален]
>ip prefix-list Global_out: 4 entries
>   seq 5 permit 88.xxx.176.0/21
>   seq 10 permit 77.xxx.32.0/21
>   seq 12 permit 77.xxx.40.0/21
>   seq 13 permit 188.xxx.152.0/21
>ip prefix-list Global_out_2KZT: 4 entries
>   seq 5 permit 88.xxx.176.0/21
>   seq 50 permit 77.xxx.32.0/21
>   seq 95 permit 188.xxx.152.0/21
>   seq 140 permit 77.xxx.40.0/21

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

Я бы сделал так:
ip prefix-list Global_out: 4 entries
   seq 10 permit 77.xxx.32.0/21
   seq 12 permit 77.xxx.40.0/21
   seq 13 permit 188.xxx.152.0/21
ip prefix-list Global_out_2KZT: 4 entries
   seq 5 permit 88.xxx.176.0/21


route-map Global_out permit 10
match ip address prefix-list Global_out
set weight 2000

route-map Global_out permit 20
match ip address prefix-list Global_out_2KZT
set weight 1000

route-map Global_out_2KZT permit 10
match ip address prefix-list Global_out_2KZT
set weight 2000

route-map Global_out_2KZT permit 20
match ip address prefix-list Global_out
set weight 1000

Как то так.
Не помню кто там у тебя толще(поменяй если что). Вопщем получилось, что на 217.196.16.1 анонсируется 77 и 188 сети........на 82.200.158.42 - только 88 сеть. При падении любого из каналов трафик перескакивает на соседа. Зато у тебя канал не забивается.
C комьюнити у тебя как то аналогично настроено, но гибче на мой взгляд этот вариант.