J'ai besoin/souhaitez migrer de Quagga vers BIRD après plusieurs problèmes de Quagga, à savoir que Quagga a cessé de fonctionner après des mises à jour dans Stretch.
BIRD est également plus flexible et moderne.
J'ai ma configuration OSPF BIND anycast dans Quagga et j'aimerais configurer le service OSPF d'une manière similaire sur BIRD.
Que faire ?
Mon /etc/quagga/ospfd.conf
est :
!
! Zebra configuration saved from vty
! 2011/03/22 21:17:11
!
hostname dns
password 8 xxxxxxx
enable password 8 xxxxxxx
log stdout
service password-encryption
!
!
!
interface dummy0
ip ospf cost 100
!
interface dummy1
ip ospf cost 500
!
interface dummy2
ip ospf cost 1000
!
interface dummy3
ip ospf cost 900
!
interface eth0
ip ospf authentication message-digest
ip ospf message-digest-key 5 md5 MySecretPassword
ip ospf cost 1000
!
interface eth1
ip ospf cost 1000
!
interface lo
!
router ospf
ospf router-id 1.1.1.1
auto-cost reference-bandwidth 10000
network 1.1.1.0/22 area 0.0.0.0
network 2.2.2.2/32 area 0.0.0.0
network 3.3.3.3/32 area 0.0.0.0
network 4.4.4.4/32 area 0.0.0.0
network 5.5.5.5/32 area 0.0.0.0
area 0 filter-list prefix AREA_1_OUT out
!
ip prefix-list AREA_1_OUT seq 5 permit 2.2.2.2/32
ip prefix-list AREA_1_OUT seq 10 permit 3.3.3.3/32
ip prefix-list AREA_1_OUT seq 15 permit 4.4.4.4/32
ip prefix-list AREA_1_OUT seq 20 permit 5.5.5.5/32
ip prefix-list AREA_1_OUT seq 25 deny any
!
line vty
!
Réponse acceptée :
Après avoir résolu les problèmes décrits ici Chiffrement OSPF md5 de Quagga vers BIRD et dans les coûts de route OSPF dans BIRD , le reste de la migration est relativement facile.
Pour avoir un service équivalent, les étapes sont :
sudo dpkg --purge quagga
sudo apt-get install bird
sudo chkconfig bird6 off
sudo service bird6 stop
Ensuite, il est nécessaire de créer la configuration dans /etc/bird/bird.conf
comme :
#
router id 1.1.1.1;
# The Device protocol is not a real routing protocol. It doesn't generate any
# routes and it only serves as a module for getting information about network
# interfaces from the kernel.
protocol device {
scan time 10;
}
protocol ospf {
tick 2;
rfc1583compat yes;
area 0.0.0.0 {
networks {
1.1.1.0/22;
};
stubnet 2.2.2.2/32 {
cost 100;
};
stubnet 3.3.3.3/32 {
cost 500;
};
stubnet 4.4.4.4/32 {
cost 1000;
};
stubnet 5.5.5.5/32 {
cost 900;
};
interface "eth0" {
cost 1000;
password "MySecretPassword" {
id 5;
};
authentication cryptographic;
};
interface "dummy0" {
stub;
};
interface "dummy1" {
stub;
};
interface "dummy2" {
stub;
};
interface "dummy3" {
stub;
};
};
}
Après modification de la configuration :
sudo service bird restart
Pour vérifier le service sur le serveur local :
sudo birdc
puis
show status
et
show ospf
et
show ospf state
et
show ospf neighbors
PS Je n'ai pas trouvé de document simple, et je n'ai pas trouvé grand-chose sur la coexistence et la migration de Quagga vers BIRD, et j'ai décidé de le documenter ici.
En relation:Utiliser regex à l'intérieur de la clause if dans bash?Je n'ai pas migré tous mes serveurs Quagga/nœuds OSPF d'un coup, car les deux configurations sont similaires, et communiquent entre elles (via le protocole OSPF évidemment).