FreeBSD 5.2.1
Quagga (Zebra&Ospfd) - 0.96.4
zebra.conf:
interface tun0
!
interface tun1
!
interface tun2
!
interface tun3
!
interface tun4
!
interface tun5
!
interface tun6
!
interface tun7
!
hostname Router1-zebra
password password
!
log file /var/log/zebra.log
line vty
exec-timeout 2400 0
ospfd.conf:
hostname Router1-ospf
password password
log file /var/log/ospfd.log
!
interface lo0
!
!
!
interface rl1
ip ospf authentication-key key
!
!
interface tun0
!
interface tun1
!
interface tun2
!
interface tun3
!
interface tun4
!
interface tun5
!
interface tun6
!
interface tun7
!
router ospf
redistribute connected
network 172.16.4.0/24 area 0.0.0.0
area 0 authentication
Таблица маршрутов с Zebra:
Router1-zebra# sh ip rou con
Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
I - ISIS, B - BGP, > - selected route, * - FIB route
C>* 10.0.36.5/32 is directly connected, tun4
C>* 10.0.36.15/32 is directly connected, tun2
C>* 10.0.36.25/32 is directly connected, tun5
C>* 10.0.36.31/32 is directly connected, tun1
C>* 10.0.36.106/32 is directly connected, tun0
C>* 10.0.36.119/32 is directly connected, tun3
C>* 127.0.0.0/8 is directly connected, lo0
C>* 172.16.4.0/24 is directly connected, rl1
C * 213.33.198.45/32 is directly connected, tun7
C>* 213.33.198.45/32 is directly connected, tun6
Последние две строчки показательные.
Таблица маршрутов в ситеме:
system# netstat -rn | grep tun
10.0.36.5 10.0.36.1 UH 0 1365141 tun4
10.0.36.9 10.0.36.1 UH 0 3648 tun0
10.0.36.15 10.0.36.1 UH 0 82450 tun5
10.0.36.21 10.0.36.1 UH 0 25667 tun7
10.0.36.25 10.0.36.1 UH 0 8870 tun6
10.0.36.31 10.0.36.1 UH 0 55624 tun2
10.0.36.100 10.0.36.1 UH 0 181590 tun3
10.0.36.106 10.0.36.1 UH 0 9888 tun1
Как видно таблицы не совсем соответстуют друг другу. И как следствие в OSPF попадают не реально действующие маршруты.
Я так понимаю, что это происходит из-за того, что когда tun уходит в down информация о концах тунеля сохраняется зеброй. А при подъеме не обновляется.
Router1-zebra# sh int tun7
Interface tun7 is down
index 13 metric 1 mtu 1500 <POINTOPOINT,RUNNING,MULTICAST>
inet 10.0.36.1/32 pointopoint 213.33.198.45
input packets 21691, bytes 1278362, dropped 0, multicast packets 0
input errors 0
output packets 29621, bytes 38335209, multicast packets 0
output errors 0
collisions 0
Как бороться с таким поведением кваги?