Ho bisogno/voglio migrare da Quagga a BIRD dopo diversi singhiozzi di Quagga, ovvero Quagga ha smesso di funzionare dopo gli aggiornamenti in Stretch.
BIRD è anche più flessibile e moderno.
Ho la mia configurazione anycast OSPF BIND in Quagga e vorrei configurare il servizio OSPF in modo simile su BIRD.
Cosa fare?
Il mio /etc/quagga/ospfd.conf
è:
!
! 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
!
Risposta accettata:
Dopo aver risolto i problemi qui descritti, la crittografia OSPF md5 da Quagga a BIRD e i costi di instradamento OSPF in BIRD , il resto della migrazione è relativamente facile.
Per avere un servizio equivalente, i passaggi sono:
sudo dpkg --purge quagga
sudo apt-get install bird
sudo chkconfig bird6 off
sudo service bird6 stop
Quindi è necessario creare l'installazione in /etc/bird/bird.conf
come:
#
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;
};
};
}
Dopo aver modificato la configurazione:
sudo service bird restart
Per verificare il servizio sul server locale:
sudo birdc
e poi
show status
e
show ospf
e
show ospf state
e
show ospf neighbors
PS Non ho trovato un documento semplice e non ho trovato molto sulla coesistenza di Quagga e sulla migrazione a BIRD, e ho deciso di documentarlo qui.
Correlati:utilizzo di regex all'interno della clausola if in bash?Non ho migrato tutti i miei server Quagga/nodi OSPF contemporaneamente, perché entrambe le configurazioni sono simili e parlano tra loro (tramite il protocollo OSPF ovviamente).