Necesito/quiero migrar de Quagga a BIRD después de varios contratiempos de Quagga, es decir, Quagga dejó de funcionar después de las actualizaciones en Stretch.
BIRD también es más flexible y moderno.
Tengo mi configuración anycast OSPF BIND en Quagga y me gustaría configurar el servicio OSPF de manera similar en BIRD.
¿Qué hacer?
Mi /etc/quagga/ospfd.conf
es:
!
! 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
!
Respuesta aceptada:
Después de resolver los problemas descritos aquí, el cifrado OSPF md5 de Quagga a BIRD y los costos de ruta OSPF en BIRD, el resto de la migración es relativamente fácil.
Para tener un servicio equivalente, los pasos son:
sudo dpkg --purge quagga
sudo apt-get install bird
sudo chkconfig bird6 off
sudo service bird6 stop
Entonces es necesario crear la configuración en /etc/bird/bird.conf
como:
#
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;
};
};
}
Después de modificar la configuración:
sudo service bird restart
Para verificar el servicio en el servidor local:
sudo birdc
y luego
show status
y
show ospf
y
show ospf state
y
show ospf neighbors
PD No encontré un documento sencillo, y no encontré mucho sobre la coexistencia y migración de Quagga a BIRD, y decidí documentarlo aquí.
Relacionado:¿Usar expresiones regulares dentro de la cláusula if en bash?No migré todos mis servidores Quagga/nodos OSPF a la vez, porque ambas configuraciones son similares y se comunican entre sí (obviamente a través del protocolo OSPF).