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