Доброго времени суток уважаемые коллеги сетевые Администраторы.Возникла классическая задача: "BGP+Backup+Load Balancing".
1. - Имеется PI/23 (194.85.25.0/23) и AS (AS8634).
2. - Два ISP взаимодействующих со мной по BGP. От обоих ISP
получаю Default BGP маршруты.
3. - Оборудование CISCO 2611 (для Default BGP маршрутов хватает).Собственно хотелось бы, чтобы сеть 194.85.25.0/24 анонсировалась
через ISP1, а сеть 194.85.26.0/24 анонсировалась через ISP2.
Если недоступен ISP1, то две сети /24 работают через ISP2 и
наооборот. Для этого ISP1 я анонсирую 194.85.25.0/24+"агрегат"
194.85.25.0/23, ISP2 я анонсирую 194.85.26.0/24+"агрегат"
194.85.25.0/23. В БД RIPE заведены route-object для каждой
сети /24 и для вей сети /23.Конфигурационный фаил моей CISCO:
hostname gw.solaris.ru
!
ip subnet-zero
!
ip name-server 194.85.25.5
ip name-server 194.85.26.5
!
interface Ethernet0/0
description interface LAN
ip address 194.85.26.1 255.255.255.0 secondary
ip address 194.85.25.1 255.255.255.0
half-duplex
no cdp enable
!
interface Ethernet0/1
description interface LAN for WAN switch IEEE802.1Q
no ip address
half-duplex
no cdp enable
!
interface Ethernet0/1.101
description interface WAN - ISP 1
encapsulation dot1Q 101
ip address 192.168.251.169 255.255.255.0
no cdp enable
!
interface Ethernet0/1.102
description interface WAN - ISP 2
encapsulation dot1Q 102
ip address 193.201.17.1 255.255.254.0
no cdp enable
!
router bgp 8634
no synchronization
bgp router-id 194.85.25.1
bgp log-neighbor-changes
network 194.85.25.0 mask 255.255.254.0
aggregate-address 194.85.25.0 255.255.254.0
neighbor 193.201.31.198 remote-as 11111
neighbor 193.201.31.198 description ---=== AS11111 - Default Route ===---
neighbor 193.201.31.198 ebgp-multihop 2
neighbor 193.201.31.198 prefix-list AAA-BGP-IN in
neighbor 193.201.31.198 prefix-list AAA-BGP-OUT out
neighbor 193.201.31.198 route-map AAA out
neighbor 192.168.50.9 remote-as 22222
neighbor 192.168.50.9 description ---=== AS22222 - Default Route ===---
neighbor 192.168.50.9 prefix-list BBB-BGP-IN in
neighbor 192.168.50.9 prefix-list BBB-BGP-OUT out
neighbor 192.168.50.9 route-map BBB out
no auto-summary
!
ip classless
ip route 10.0.0.0 255.0.0.0 Null0 100
ip route 193.201.31.198 255.255.255.255 193.201.16.1
ip route 172.16.0.0 255.240.0.0 Null0 100
ip route 192.168.0.0 255.255.0.0 Null0 100
ip route 194.85.25.0 255.255.254.0 Null0 100
no ip http server
!
!
ip prefix-list AAA-BGP-IN seq 10 permit 0.0.0.0/0
ip prefix-list AAA-BGP-IN seq 15 permit 194.85.25.0/23 le 24
ip prefix-list AAA-BGP-IN seq 20 permit 194.85.25.0/24
!
ip prefix-list AAA-BGP-OUT seq 10 permit 194.85.25.0/23 le 24
ip prefix-list AAA-BGP-OUT seq 15 permit 194.85.25.0/24
!
ip prefix-list BBB-BGP-IN seq 10 permit 0.0.0.0/0
ip prefix-list BBB-BGP-IN seq 15 permit 194.85.25.0/23 le 24
ip prefix-list BBB-BGP-IN seq 20 permit 194.85.26.0/24
!
ip prefix-list BBB-BGP-OUT seq 10 permit 194.85.25.0/23 le 24
ip prefix-list BBB-BGP-OUT seq 15 permit 194.85.26.0/24
access-list 10 permit 194.85.25.0 0.0.0.255
access-list 20 permit 194.85.26.0 0.0.0.255
access-list 30 permit 194.85.25.0 0.0.1.255
no cdp run
route-map BBB permit 10
match ip address 10
set as-path prepend 22222 22222 22222
!
route-map BBB permit 20
match ip address 30
!
route-map AAA permit 10
match ip address 20
set as-path prepend 11111 11111 11111
!
route-map AAA permit 20
match ip address 30
!
endПроблема заключается в том, что вся сеть 194.85.25.0/23
работает либо через ISP1, либо через ISP2. Сети /24 не
анонсируются через разных ISP как задумывалось изначально.Доп. информация:
gw.solaris.ru#sh ip bgp su
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
193.201.31.198 4 41145 3693 3705 3 0 0 1d19h 1
192.168.50.9 4 43130 3731 3732 3 0 0 1d04h 1gw.solaris.ru#sh ip bgp
Network Next Hop Metric LocPrf Weight Path
* 0.0.0.0 192.168.50.9 0 22222 33333 ?
*> 193.201.31.198 0 11111 i
*> 194.85.25.0/23 0.0.0.0 0 32768 iP.S. С BGP столкнулся сравнительно недавно, конфиг составил по классическим
примерам, подскажите, где я ошибаюсь, если не сложно.
>[оверквотинг удален]
>3. - Оборудование CISCO 2611 (для Default BGP маршрутов хватает).
>
>Собственно хотелось бы, чтобы сеть 194.85.25.0/24 анонсировалась
>через ISP1, а сеть 194.85.26.0/24 анонсировалась через ISP2.
>Если недоступен ISP1, то две сети /24 работают через ISP2 и
>наооборот. Для этого ISP1 я анонсирую 194.85.25.0/24+"агрегат"
>194.85.25.0/23, ISP2 я анонсирую 194.85.26.0/24+"агрегат"
>194.85.25.0/23. В БД RIPE заведены route-object для каждой
>сети /24 и для вей сети /23.
>а где собствено оригинация сих маршрутов /24 для адвертайза провайдерам?
>[оверквотинг удален]
>>Собственно хотелось бы, чтобы сеть 194.85.25.0/24 анонсировалась
>>через ISP1, а сеть 194.85.26.0/24 анонсировалась через ISP2.
>>Если недоступен ISP1, то две сети /24 работают через ISP2 и
>>наооборот. Для этого ISP1 я анонсирую 194.85.25.0/24+"агрегат"
>>194.85.25.0/23, ISP2 я анонсирую 194.85.26.0/24+"агрегат"
>>194.85.25.0/23. В БД RIPE заведены route-object для каждой
>>сети /24 и для вей сети /23.
>>
>
>а где собствено оригинация сих маршрутов /24 для адвертайза провайдерам?Извините, но честно говоря, я не понял Вашего вопроса про оригинацию маршрутов. :-(
В плане BGP маршрутизации, я начинающий администратор, поэтому показываю всю
конфигурацию. Поясните пожалуйста, если не сложно про оригинацию маршрутов.
Заранее благодарен.
>Доброго времени суток уважаемые коллеги сетевые Администраторы.
>
>router bgp 8634
>no synchronization
>bgp router-id 194.85.25.1
>bgp log-neighbor-changes
>network 194.85.25.0 mask 255.255.254.0Добавить
network 194.85.25.0 mask 255.255.255.0
network 194.85.26.0 mask 255.255.255.0
>[оверквотинг удален]
>neighbor 192.168.50.9 prefix-list BBB-BGP-OUT out
>neighbor 192.168.50.9 route-map BBB out
>no auto-summary
>!
>ip classless
>ip route 10.0.0.0 255.0.0.0 Null0 100
>ip route 193.201.31.198 255.255.255.255 193.201.16.1
>ip route 172.16.0.0 255.240.0.0 Null0 100
>ip route 192.168.0.0 255.255.0.0 Null0 100
>ip route 194.85.25.0 255.255.254.0 Null0 100Добавить
ip route 194.85.25.0 255.255.255.0 Null0 100
ip route 194.85.26.0 255.255.255.0 Null0 100
>[оверквотинг удален]
>>ip classless
>>ip route 10.0.0.0 255.0.0.0 Null0 100
>>ip route 193.201.31.198 255.255.255.255 193.201.16.1
>>ip route 172.16.0.0 255.240.0.0 Null0 100
>>ip route 192.168.0.0 255.255.0.0 Null0 100
>>ip route 194.85.25.0 255.255.254.0 Null0 100
>
>Добавить
>ip route 194.85.25.0 255.255.255.0 Null0 100
>ip route 194.85.26.0 255.255.255.0 Null0 100Спасибо Вам nikl за подсказку, действительно, ведь я анонсирую не только
сеть /23, но и её кусочки /24. После внесения указанных Вами изменений
sh ip bgp показывает:Network Next Hop Metric LocPrf Weight Path
* 0.0.0.0 192.168.50.9 0 22222 33333 ?
*> 193.201.31.198 0 11111 i
*> 194.85.25.0 0.0.0.0 0 32768 i
* 194.85.25.0/23 0.0.0.0 32768 i
*> 0.0.0.0 0 32768 i
*> 194.85.26.0 0.0.0.0 0 32768 iМаленький вопрос, строка aggregate-address 194.85.25.0 255.255.254.0
"агрегирует" всю сеть /23, нужно ли мне создать "агрегаты" для
cетей /24, т.е. aggregate-address 194.85.25.0 255.255.255.0 и
aggregate-address 194.85.26.0 255.255.255.0? У меня еще вкрались
сомнения по поводу OUT prefix-lis'тов, нужны ли они в моем случае или
достаточно правил route-map'ов на то, что "отдаю" провайдерам?
>[оверквотинг удален]
>*> 0.0.0.0 0 32768 i
>*> 194.85.26.0 0.0.0.0 0 32768 i
>
>Маленький вопрос, строка aggregate-address 194.85.25.0 255.255.254.0
>"агрегирует" всю сеть /23, нужно ли мне создать "агрегаты" для
>cетей /24, т.е. aggregate-address 194.85.25.0 255.255.255.0 и
>aggregate-address 194.85.26.0 255.255.255.0? У меня еще вкрались
>сомнения по поводу OUT prefix-lis'тов, нужны ли они в моем случае или
>
>достаточно правил route-map'ов на то, что "отдаю" провайдерам?надо смотреть команды
sh ip bgp nei 192.168.50.9 adv
sh ip bgp nei 193.201.31.198 adv
>[оверквотинг удален]
>
> 32768 i
>*> 0.0.0.0 0 32768 i
>*> 194.85.26.0 0.0.0.0 0 32768 i
>
>Маленький вопрос, строка aggregate-address 194.85.25.0 255.255.254.0
>"агрегирует" всю сеть /23, нужно ли мне создать "агрегаты" для
>cетей /24, т.е. aggregate-address 194.85.25.0 255.255.255.0 и
>aggregate-address 194.85.26.0 255.255.255.0? У меня еще вкрались
>сомнения по поводу OUT prefix-lis'тов, нужны ли они в моем случае илиprefix-list все равно неплохо, а то начнете отдавать верхним провайдерам всякую чушь.
>
>достаточно правил route-map'ов на то, что "отдаю" провайдерам?роутмапы - в дополнение к префикс-листам. кстати они у вас неправильные
route-map BBB permit 10
match ip address 10
set as-path prepend 22222 22222 22222
!
route-map AAA permit 10
match ip address 20
set as-path prepend 11111 11111 11111
!В 'set as-path prepend' надо указывать номера своей AS, а не аплинков.
>[оверквотинг удален]
>match ip address 10
>set as-path prepend 22222 22222 22222
>!
>route-map AAA permit 10
>match ip address 20
>set as-path prepend 11111 11111 11111
>!
>
>В 'set as-path prepend' надо указывать номера своей AS, а не аплинков.
>Nikl вот что я получил в ответ:
sh ip bgp nei 193.201.31.198 adv
Network Next Hop Metric LocPrf Weight Path
*> 194.85.25.0 0.0.0.0 0 32768 i
*> 194.85.25.0/23 0.0.0.0 0 32768 i
*> 194.85.26.0 0.0.0.0 0 32768 ish ip bgp nei 192.168.50.9 adv
Network Next Hop Metric LocPrf Weight Path
*> 194.85.25.0 0.0.0.0 0 32768 i
*> 194.85.25.0/23 0.0.0.0 0 32768 i
*> 194.85.26.0 0.0.0.0 0 32768 iПолучется, что я успешно анонсирую сеть /23 и её кусочки /24
обоим провайдерам, т.е. не не надо делать "агрегат" для каждой
отдельной сети /24?
>роутмапы - в ... кстати они у вас неправильныеВот ёлки-палки, route-map'ы для меня "дремучий лес", значит я
должен в set as-path prepend указать:route-map BBB permit 10
match ip address 10
set as-path prepend 8634 8634 8634
!
route-map AAA permit 10
match ip address 20
set as-path prepend 8634 8634 8634Cпасибо, что предупредили, надеюсь с prefix-lis'тами у меня
всё впорядке, кстати в IN prefix-lis'тах мне нужно
указывать
ip prefix-list AAA-BGP-IN seq 15 permit 194.85.25.0/23 le 24
и
ip prefix-list AAA-BGP-IN seq 20 permit 194.85.25.0/24
или достатточно только приема Default маршрута
ip prefix-list AAA-BGP-IN seq 10 permit 0.0.0.0/0?
>[оверквотинг удален]
> Network
> Next Hop
> Metric LocPrf Weight Path
>*> 194.85.25.0 0.0.0.0 0 32768 i
>*> 194.85.25.0/23 0.0.0.0 0 32768 i
>*> 194.85.26.0 0.0.0.0 0 32768 i
>
>Получется, что я успешно анонсирую сеть /23 и её кусочки /24
>обоим провайдерам, т.е. не не надо делать "агрегат" для каждой
>отдельной сети /24?ну все нормально, отдаете /23 и два кусочка /24
>[оверквотинг удален]
>set as-path prepend 8634 8634 8634
>
>Cпасибо, что предупредили, надеюсь с prefix-lis'тами у меня
>всё впорядке, кстати в IN prefix-lis'тах мне нужно
>указывать
>ip prefix-list AAA-BGP-IN seq 15 permit 194.85.25.0/23 le 24
>и
>ip prefix-list AAA-BGP-IN seq 20 permit 194.85.25.0/24
>или достатточно только приема Default маршрута
>ip prefix-list AAA-BGP-IN seq 10 permit 0.0.0.0/0?С префикс-листами вам незачем принимать _свои_ сетки, они от провайдера не полезут к вам.
Оставьте только default
>[оверквотинг удален]
>>указывать
>>ip prefix-list AAA-BGP-IN seq 15 permit 194.85.25.0/23 le 24
>>и
>>ip prefix-list AAA-BGP-IN seq 20 permit 194.85.25.0/24
>>или достатточно только приема Default маршрута
>>ip prefix-list AAA-BGP-IN seq 10 permit 0.0.0.0/0?
>
>С префикс-листами вам незачем принимать _свои_ сетки, они от провайдера не полезут
>к вам.
>Оставьте только defaultNikl спасибо Вам огромное, что потратили на меня время. :-)
Вроде разобрался. Забыл спросить про маленький нюанс, "кошка"
выбирает для самой себя Gateway одного из ISP, либо 192.168.50.9,
либо 193.201.31.198. Как мне заставить "кошку" НЕ использовать Gateway
для самой себя?
>Вроде разобрался. Забыл спросить про маленький нюанс, "кошка"
>выбирает для самой себя Gateway одного из ISP, либо 192.168.50.9,
>либо 193.201.31.198. Как мне заставить "кошку" НЕ использовать Gateway
>для самой себя?так она и выбирает того, кто сейчас отдает default
или я не понял ваш вопрос
>>Вроде разобрался. Забыл спросить про маленький нюанс, "кошка"
>>выбирает для самой себя Gateway одного из ISP, либо 192.168.50.9,
>>либо 193.201.31.198. Как мне заставить "кошку" НЕ использовать Gateway
>>для самой себя?
>
>так она и выбирает того, кто сейчас отдает default
>или я не понял ваш вопросNikl, простите, я поторопился и неправильно выразился.
Дело в том, что помимо BGP, провайдером 192.168.50.9
выделена маленькая подсеть /29. Эту подсеть нужно
статикой роутить на IP 192.168.50.9.
У меня это выглядит так:interface Loopback0
ip address 100.105.212.105 255.255.255.248ip route 100.105.212.104 255.255.255.248 192.168.50.9
Для самой себя CISCO выбирает defaul gateway на другого
провайдера ("опираясь" на маршрут полученный по BGP).#sh ip ro
Gateway of last resort is 193.201.31.198 to network 0.0.0.0
B* 0.0.0.0/0 [20/0] via 193.201.31.198, 01:06:22
Когда CISCO выбирает defaul gateway на 192.168.50.9,
подсеть 100.105.212.104 нормально работает, когда
defaul gateway на 193.201.31.198, подсеть 100.105.212.104
не роутится, хотя статический маршрут прописан.
Я пологаю, если для CISCO статически прописать defaul
gateway на 192.168.50.9, это помешает работе BGP,
т.е. сеть 194.85.25.0/23 тоже будет роутиться ТОЛЬКО
через 192.168.50.9? Этого нельзя допустить.ip route 0.0.0.0 0.0.0.0 192.168.50.9
>[оверквотинг удален]
>defaul gateway на 193.201.31.198, подсеть 100.105.212.104
>не роутится, хотя статический маршрут прописан.
>
>
>Я пологаю, если для CISCO статически прописать defaul
>gateway на 192.168.50.9, это помешает работе BGP,
>т.е. сеть 194.85.25.0/23 тоже будет роутиться ТОЛЬКО
>через 192.168.50.9? Этого нельзя допустить.
>
>ip route 0.0.0.0 0.0.0.0 192.168.50.9Рискнул проверить, прописал ip route 0.0.0.0 0.0.0.0 192.168.50.9
и получилось так, как не хотелось:
S* 0.0.0.0/0 via 192.168.50.9
сеть 194.85.25.0/23 стала роутится ТОЛЬКО через 192.168.50.9. :-(
>interface Loopback0
> ip address 100.105.212.105 255.255.255.248
>
>ip route 100.105.212.104 255.255.255.248 192.168.50.9бред какой-то!!! зачем одновременно статик и прибивать сеть на интерфейс?
если надо статиком отправить сеть за хост, так отправте,
без всяких вешаний на lo0.
(config)# int lo0
(config)# no ip addrпотом спотрим sh ip route 100.105.212.104
должен бить статик на 192.168.50.9.
>[оверквотинг удален]
>
>бред какой-то!!! зачем одновременно статик и прибивать сеть на интерфейс?
>
>если надо статиком отправить сеть за хост, так отправте,
>без всяких вешаний на lo0.
>(config)# int lo0
>(config)# no ip addr
>
>потом спотрим sh ip route 100.105.212.104
>должен бить статик на 192.168.50.9.Volkov, спасибо Вам.
Действительно не подумав привязал сеть к Loopback0.no interface Loopback0
ip route 100.105.212.104 255.255.255.248 192.168.50.9sh ip ro 100.105.212.104
Routing entry for 100.105.212.104/29
Known via "static", distance 1, metric 0
Routing Descriptor Blocks:
* 192.168.50.9
Route metric is 0, traffic share count is 1Все прекрасно работает, СПАСИБО! :-)