Добрый день.
настроил 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. но на деле так не происходит. Если в ручную менять шлюз по умолчанию, то все работает на резервном канале. Скрипт с заменой шлюза может решить эту проблему, но хотелось бы какое-то более красивое решение проблемы.
Заранее спасибо.