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

Исходное сообщение
"BGP баллансировка входящего трафика по длине префикса."

Отправлено gsv , 20-Ноя-07 12:47 
Добрый день.

Есть автономная система и блок провайдерно независимых адресов (2 сетки /24). Есть Cisco 7206. Есть 2 провайдера, к которым подключена AS. От обоих приходит FULL VIEW. Нужно сделать одного провайдера основным, а другого - бакапным. Как назло без дополнительных настроек входящий трафик идёт не через того провайдера, который нужен. Пытался делать препенды и аннонсировать сетки с ними через бакапнгого провайдера, но они не помогают. Результат проверяю на looking glass в Релкоме http://relcom.net/INFO/NOC-IP/lg/lg0.html.
Теперь хочу бакапному провыйдеру анонсировать одну более крупную  сеть с длиной префикса /23, а основному - две сети с префиксами по /24. Предварительно в RIPE создали объект route на нашу сеть /23. Раньше были только объекты route c префиксами /24.
Сделал
ip prefix-list backup-list seq 5 permit x.x.x.0/23
ip prefix-list backup-list seq 15 deny 0.0.0.0/0 le 32
!
ip prefix-list main-list seq 5 permit x.x.x.0/23 le 24
ip prefix-list main-list seq 15 deny 0.0.0.0/0 le 32

и применил эти prefix-list  к соответствующим пирам в настройках bgp.

В результате получил то, что через основного прова отдаются в инет анонсы сеток с more specific route, а через бакапного - менее specific. И весь входящий трафик полился через основного. Смотрел на Looking glass - в интернете появился анонс нашей сетки с сумарным адресом x.x.x.0/23  и он анонсируется через бакапного провайдера. Фильтры у провайдеров на наши анонсы настроены правильно - т.е. принимаются сети и с префиксом /24 и с /23.

Решил потом проделать эксперимент - в BGP положил основного провайдера, для того, чтобы убедиться, что будет работать бакапный. Но он не работает. Почему-то не всплывает в интернете адрес нашей сети с префиксом /23.
Может быть ещё какие-нибудь объекты в RIPE нужно создавать? Кто знает, помогите...


Содержание

Сообщения в этом обсуждении
"BGP баллансировка входящего трафика по длине префикса."
Отправлено deep_admin , 20-Ноя-07 13:31 
>[оверквотинг удален]
>- в интернете появился анонс нашей сетки с сумарным адресом x.x.x.0/23
> и он анонсируется через бакапного провайдера. Фильтры у провайдеров на
>наши анонсы настроены правильно - т.е. принимаются сети и с префиксом
>/24 и с /23.
>
>Решил потом проделать эксперимент - в BGP положил основного провайдера, для того,
>чтобы убедиться, что будет работать бакапный. Но он не работает. Почему-то
>не всплывает в интернете адрес нашей сети с префиксом /23.
>Может быть ещё какие-нибудь объекты в RIPE нужно создавать? Кто знает, помогите...
>

у вас на каждую сетку должны быть созданы объекты route
пусть ваши аплинки покажут как они вас видят от себя и как отдают дальше
а вообще то, идеальным вариантом было бы использование community-атрибутов аплинков для удлинения и/или анонса/неанонса ваших префиксов дальше


"BGP баллансировка входящего трафика по длине префикса."
Отправлено gsv , 20-Ноя-07 13:46 
>у вас на каждую сетку должны быть созданы объекты route

на каждую сетку сейчас создан объект route. у нас раньше было 2 объекта route на сетки /24 и недавно создали объект на сеть /23. В whois их видно.

>пусть ваши аплинки покажут как они вас видят от себя и как
>отдают дальше
>а вообще то, идеальным вариантом было бы использование community-атрибутов аплинков для удлинения
>и/или анонса/неанонса ваших префиксов дальше

На Looking glass  видно, что best  маршрут выбирается по localpref, который анализируется bgp раньше, чем path. Поэтому удлинять путь бесполезно.
Бакапный аплинк видит нас как x.x.x.0/23 и отдаёт дальше точно так же. А основной - x.x.x.0/24 и y.y.y.0/24


"BGP баллансировка входящего трафика по длине префикса."
Отправлено Comper , 25-Ноя-07 16:51 
Я вообще не анонсирую свои сети бекапному isp, когда ложится основной, начинается анонс бекапному. Простой идет 1-2 минуты. Учитывая что такая ситуация бывает не часто, то такой простой для меня приемлим. Вот кусок конфига как это реализованно. Взято в свое время с sysadmins.ru

Код:

router bgp 1
synchronization
bgp log-neighbor-changes
network 172.16.0.0
neighbor 192.168.20.2 remote-as 2
neighbor 192.168.20.2 description Rico
neighbor 192.168.20.2 route-map AS2-IN in
neighbor 192.168.20.2 route-map AS2-OUT out
neighbor 192.168.30.2 remote-as 3
neighbor 192.168.30.2 description Fry
neighbor 192.168.30.2 send-community
neighbor 192.168.30.2 route-map AS3-IN in
neighbor 192.168.30.2 route-map AS3-OUT out
neighbor 192.168.30.2 advertise-map AS3-OUT non-exist-map DEFAULT-FROM-AS2
no auto-summary
!
ip bgp-community new-format
ip community-list standard AS2 permit 2:1
ip community-list standard AS3 permit 3:1
!
!
ip prefix-list DEFAULT seq 5 permit 0.0.0.0/0
!
ip prefix-list OUR-AS seq 5 permit 172.16.0.0/16
!
route-map AS2-IN permit 10
set local-preference 300
set community 2:1 additive
!
route-map AS3-IN permit 10
set local-preference 100
set community 3:1 additive
!
route-map AS2-OUT permit 10
match ip address prefix-list OUR-AS
!
route-map DEFAULT-FROM-AS2 permit 10
match ip address prefix-list DEFAULT
match community AS2
!
route-map AS3-OUT permit 10
match ip address prefix-list OUR-AS

Поясняю, что происходит. На входе я мечу каждый дефолт своим комьюнити. На
выходе - первому прову (AS2) отдаю свою AS в любом случае. Второму (AS3) -
только в случае если не вижу дефолта от первого (AS2). Если что непонятно,
поясню.


"BGP баллансировка входящего трафика по длине префикса."
Отправлено gsv , 26-Ноя-07 15:27 
Большое человеческое спасибо за развёрнутый и понятный ответ.