Назад | Перейти на главную страницу

Многодомные маршрутизаторы Cisco BGP настраиваются на устойчивость, но с отдельным входящим весом

У меня есть 2 маршрутизатора Cisco, каждый с одним интернет-каналом, обеспечивающий BGP только маршрутом по умолчанию, что позволяет нам объявлять определенные маршруты для каждого канала. Мы не используем полный DFZ, потому что, хотя мы обычно запускаем все Cisco 3925, в настоящее время у нас временно используется Cisco 2911, и у него недостаточно оперативной памяти для обработки DFZ.

Маршрутизаторы совместно используют локальную сеть уровня 2, используя конфигурацию Campus vLAN (Router-On-A-Stick), и мы действительно хотели бы воспользоваться преимуществами этого общего подключения к локальной сети и получить некоторую устойчивость к Интернет-каналам, используя BGP не только для рекламы основного маршрут через свой естественный дом, а также маршрут, который принадлежит маршрутизатору другой платформы, но с этим вторичным маршрутом AS-Path Prepended, чтобы сделать его менее желательным, чем маршрут, объявленный через его естественный домашний маршрутизатор, и наоборот.

У нас также есть отдельный (в настоящее время неактивный) сайт с 2 маршрутизаторами и (в настоящее время) резервной парой / 24, с которыми я использую для экспериментов, но мне не удалось получить основной маршрут и добавленный путь AS. вторичный маршрут, объявленный в то же время, через того же соседа BGP. Я тестировал AS39152 с маршрутами 91.192.234.0/24 и 91.192.235.0/24, рекламируя AS29550, используя это, чтобы показать результаты моего тестирования:

% telnet route-server.as3257.net             
route-server.as3257.net> sho ip bgp regexp 29550 39152
BGP table version is 25589080, local router ID is 213.200.87.253
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 91.192.234.0/24  213.200.64.93           18             0 3257 5089 29550 39152 i
*> 91.192.235.0/24  213.200.64.93           18             0 3257 2914 29550 39152 i

Моя цель - получить такие результаты из рекламы BGP одного маршрутизатора (вам почти наверняка нужно прокрутить вправо, чтобы увидеть мою точку зрения): -

   Network          Next Hop            Metric LocPrf Weight Path
*> 91.192.234.0/24  213.200.64.93           18             0 3257 5089 29550 39152 i
*> 91.192.235.0/24  213.200.64.93           18             0 3257 2914 29550 39152 39152 39152 39152 i

Я прочитал http://blog.ipspace.net/2008/02/bgp-essentials-as-path-prepending.html но я ищу способ смешивать префиксы с добавлением AS-path и без него, и я еще не нашел то, что мне нужно. Это может быть потому, что это невозможно или, что более вероятно (я надеюсь), что я просто не знаю, какую терминологию поиска использовать.

Я не ставил под вопрос какую-либо свою конфигурацию, так как она просто не работает и я не знаю, возможно ли это вообще - я могу поделиться ею, если это поможет.

Действительно ли то, что я пытаюсь достичь, возможно, и если да, не могли бы вы поделиться примером конфигурации?

Вот что я в итоге сделал. Для меня это имеет смысл, и я думаю, что он достаточно ясен (перечислены все префиксы), чтобы сотрудник мог прочитать конфигурацию и понять ее.

Конфигурация RTR1 - первичный для .234, вторичный для .235

conf t
!
router bgp 39152
 address-family ipv4
  neighbor 172.16.15.14 route-map OUR_ROUTES out
 exit-address-family
!
route-map OUR_ROUTES permit 10
 description Match Our Primary BGP Ranges
 match ip address 10
 exit
!
route-map OUR_ROUTES permit 20
 description Match Our Secondary BGP Ranges
 match ip address 20
 set as-path prepend 39152 39152 39152
 exit
!
access-list 10 remark OUR_PRIMARY_ROUTES
access-list 10 permit 91.192.234.0
!
access-list 20 remark OUR_SECONDARY_ROUTES
access-list 20 permit 91.192.235.0
!
end

Конфигурация RTR2 - первичный для .235, вторичный для .234

conf t
!
router bgp 39152
 address-family ipv4
  neighbor 172.16.17.18 route-map OUR_ROUTES out
 exit-address-family
!
route-map OUR_ROUTES permit 10
 description Match Our Primary BGP Ranges
 match ip address 10
 exit
!
route-map OUR_ROUTES permit 20
 description Match Our Secondary BGP Ranges
 match ip address 20
 set as-path prepend 39152 39152 39152
 exit
!
access-list 10 remark OUR_PRIMARY_ROUTES
access-list 10 permit 91.192.235.0
!
access-list 20 remark OUR_SECONDARY_ROUTES
access-list 20 permit 91.192.234.0
!
end

BGP Looking Glass только с RTR1 онлайн

route-server.as3257.net>sho ip bgp regexp 29550 39152 | begin Network
   Network          Next Hop            Metric LocPrf Weight Path
*> 91.192.234.0/24  213.200.64.93           18             0 3257 5089 29550 39152 i
*> 91.192.235.0/24  213.200.64.93           18             0 3257 2914 29550 39152 39152 39152 39152 i

BGP Looking Glass только с RTR2 онлайн

route-server.as3257.net>sho ip bgp regexp 29550 39152 | begin Network
   Network          Next Hop            Metric LocPrf Weight Path
*> 91.192.234.0/24  213.200.64.93           18             0 3257 5089 29550 39152 39152 39152 39152 i
*> 91.192.235.0/24  213.200.64.93           18             0 3257 2914 29550 39152 i

BGP Looking Glass с RTR1 и RTR2 онлайн

route-server.as3257.net>sho ip bgp regexp 29550 39152 | begin Network
   Network          Next Hop            Metric LocPrf Weight Path
*> 91.192.234.0/24  213.200.64.93           18             0 3257 5089 29550 39152 i
*> 91.192.235.0/24  213.200.64.93           18             0 3257 2914 29550 39152 i

Следующие конфигурации используют списки префиксов, но с явным соответствием для каждого правила карты маршрутов. Список префиксов меньше сбивает с толку моих коллег, чем ACL.

Конфигурация RTR1

conf t
!
router bgp 39152
 address-family ipv4
  neighbor 172.16.15.14 route-map OUR_ROUTES out
 exit-address-family
!
ip prefix-list BGP_PRIMARY_ROUTES seq 5 permit 91.192.234.0/24
!
ip prefix-list BGP_SECONDARY_ROUTES seq 5 permit 91.192.235.0/24
!
route-map OUR_ROUTES permit 10
 description Match Our Primary BGP Ranges
 match ip address prefix-list BGP_PRIMARY_ROUTES
 exit
!
route-map OUR_ROUTES permit 20
 description Match Our Secondary BGP Ranges
 match ip address prefix-list BGP_SECONDARY_ROUTES
 set as-path prepend 39152 39152 39152
 exit
!
end

Конфигурация RTR2

conf t
!
router bgp 39152
 address-family ipv4
  neighbor 172.16.17.18 route-map OUR_ROUTES out
 exit-address-family
!
ip prefix-list BGP_PRIMARY_ROUTES seq 5 permit 91.192.235.0/24
!
ip prefix-list BGP_SECONDARY_ROUTES seq 5 permit 91.192.234.0/24
!
route-map OUR_ROUTES permit 10
 description Match Our Primary BGP Ranges
 match ip address prefix-list BGP_PRIMARY_ROUTES
 exit
!
route-map OUR_ROUTES permit 20
 description Match Our Secondary BGP Ranges
 match ip address prefix-list BGP_SECONDARY_ROUTES
 set as-path prepend 39152 39152 39152
 exit
!
end

То, что вы пытаетесь сделать, возможно за счет использования списков префиксов IP и операторов соответствия. Например:

ip prefix-list PREFERRED seq 5 permit 91.192.234.0/24
!
router bgp 39152
 neighbor 10.1.0.2 remote-as 29550
 neighbor 10.1.0.2 description Simply Transit
 address-family ipv4
  neighbor 10.1.0.2 route-map simply-transit out
!
route-map simply-transit permit 10
 match ip address prefix-list PREFERRED
!
route-map simply-transit permit 20
 set as-path prepend 39152 39152 39152

Первое правило соответствует вашей предпочтительной сети. Он не заполняет путь AS. Второе правило соответствует всему, что не соответствует первому правилу. Он заполняет путь AS.

Обратите внимание, что если вы используете эту схему, а затем проверяете внешний сервер маршрутизации, вы не увидите свои добавленные маршруты (или в любом случае не должны). Ваш восходящий оператор связи будет перенаправлять только свои лучшие маршруты, и он исключит ваши добавленные маршруты в пользу ваших незафиксированных маршрутов. Остальной мир за пределами вашего восходящего провайдера будет видеть только избранные, незаполненные маршруты.