Jump to content
Калькуляторы

BGP падение одного из аплинков

Добрый день.

настроил BGP с двумя аплинками и вроди все нормально работает (пробывал каждый по отдельности все корректно работает). Когда подключил сразу два аплинка то при падении одного второй автоматически не поднимается.

вот мой конфиг зебры

hostname zebra
password 123456
enable password 123456
log file /var/log/quagga/zebra.log
#
interface eth0
ip address 5.5.5.10/24
#
interface eth1
ip address 1.1.1.2/28
#
interface eth2
ip address 2.2.2.3/30
#
ip route 0.0.0.0/0 1.1.1.1 15 
ip route 0.0.0.0/0 2.2.2.2 25
#
ip route 5.5.5.0/24 Null0
#
ip forwarding
ipv6 forwarding
#
line vty
exec-timeout 0 0

и конфиг бгп

hostname AS41000
password 123456
enable password 123456
log file /var/log/quagga/bgpd.log
#
router bgp 41000
no synchronization
bgp router-id 5.5.5.10
bgp log-neighbor-changes
network 5.5.5.0/24
#
neighbor 1.1.1.1 remote-as 1111
neighbor 1.1.1.1 description tars
neighbor 1.1.1.1 update-source 1.1.1.2
neighbor 1.1.1.1 timers 20 60
neighbor 1.1.1.1 prefix-list tars-in in
neighbor 1.1.1.1 route-map prepend_tars-in in
neighbor 1.1.1.1 route-map prepend_tars-out out
#
neighbor 2.2.2.2 remote-as 2222
neighbor 2.2.2.2 description Line
neighbor 2.2.2.2 update-source 2.2.2.3
neighbor 2.2.2.2 timers 30 90
neighbor 2.2.2.2 prefix-list Line-in in
neighbor 2.2.2.2 route-map prepend_Line-in in
neighbor 2.2.2.2 route-map prepend_Line-out out
no auto-summary
#
ip prefix-list tars-in seq 5 deny 0.0.0.0/0
ip prefix-list tars-in seq 10 permit 0.0.0.0/0 ge 22
ip prefix-list tars-out-1 seq 5 permit 5.5.5.0/24
ip prefix-list tars-out-1 seq 10 deny any
ip prefix-list Line-in seq 5 deny 0.0.0.0/0
ip prefix-list Line-in seq 10 permit 0.0.0.0/0 le 22
ip prefix-list Line-out-1 seq 5 permit 5.5.5.0/24
ip prefix-list Line-out-1 seq 10 deny any
#
route-map prepend_tars-in permit 10
match ip address prefix-list tars-in
#
route-map prepend_tars-in permit 20
match ip address prefix-list tars-in
#
route-map prepend_Line-in permit 10
match ip address prefix-list Line-in
#
route-map prepend_Line-in permit 20
match ip address prefix-list Line-in
#
route-map prepend_tars-out permit 10
match ip address prefix-list tars-out-1  
#
route-map prepend_Line-out permit 10
match ip address prefix-list Line-out-1
#
line vty

 

zebra> show ip route выдает

Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
      I - ISIS, B - BGP, > - selected route, * - FIB route

S   0.0.0.0/0 [25/0] via 2.2.2.2, eth2
S   0.0.0.0/0 [15/0] via 1.1.1.1, eth1
K>* 0.0.0.0/0 via 1.1.1.1, eth1
S   5.5.5.0/24 [1/0] is directly connected, Null0, bh
C>* 5.5.5.0/24 is directly connected, eth0
C>* 2.2.2.0/30 is directly connected, eth2
C>* 1.1.1.0/28 is directly connected, eth1
C>* 127.0.0.0/8 is directly connected, lo

 

Я думал что эти строчки автоматически меняют шлюз. Сначала работает с метрикой 15 и если он падает то начинает работать с метрикой 25. но на деле так не происходит. Если в ручную менять шлюз по умолчанию, то все работает на резервном канале. Скрипт с заменой шлюза может решить эту проблему, но хотелось бы какое-то более красивое решение проблемы.

Заранее спасибо.

Share this post


Link to post
Share on other sites

У вас оба дефолтных маршрута забиты статикой, вам нужно их удалить и получать дефолт по bgp.

Зебра не будет трогать статические маршруты при изменении связности.

Share this post


Link to post
Share on other sites

пробовал убирать маршруты из статики. BGP поднимало только тот что с метрикой 15. И при его падении резерв не поднимался....

Share this post


Link to post
Share on other sites

show ip bgp

там должны быть два маршрута 0.0.0.0 через двух соседей

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

статических маршрутов:

ip route 0.0.0.0/0 1.1.1.1 15

ip route 0.0.0.0/0 2.2.2.2 25

далее смотрим show ip route в зебре, если нет статических маршрутов, то должно быть с буковкой B - BGP

(может даже понадобится вручную в операционной системе поубивать маршруты)

Share this post


Link to post
Share on other sites

show ip bgp

BGP table version is 0, local router ID is 5.5.5.10
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
             r RIB-failure, S Stale, R Removed
Origin codes: i - IGP, e - EGP, ? - incomplete

  Network          Next Hop            Metric LocPrf Weight Path
*> 5.5.5.0/24  0.0.0.0                  0         32768 i

Total number of prefixes 1

Share this post


Link to post
Share on other sites

Вы явно не понимаете что понаписали в конфигах. Во-первых, Вы статиткой забили 2 дефолт-роута. Во-вторых, Вы запретили прием дефолт-роута от аплинков. Поэтому и поимели то, что понаписали.

 

Из конфига зербы уберите:

ip route 0.0.0.0/0 1.1.1.1 15 
ip route 0.0.0.0/0 2.2.2.2 25

 

Из конфига бгп уберите:

neighbor 1.1.1.1 prefix-list tars-in in
neighbor 1.1.1.1 route-map prepend_tars-in in

neighbor 2.2.2.2 prefix-list Line-in in
neighbor 2.2.2.2 route-map prepend_Line-in in

Share this post


Link to post
Share on other sites

Вы явно не понимаете что понаписали в конфигах.

То что написал понимаю, просто BGP поднимаю первый раз вот и возникают сложности) Немного подредачив route-map все корректно заработало.

Всем спасибо за помощь.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this