Potřebuji/chci migrovat z Quagga na BIRD po několika Quagga škytavkách, konkrétně Quagga přestala fungovat po aktualizacích v Stretch.
BIRD je také flexibilnější a modernější.
Mám konfiguraci OSPF BIND anycast v Quagga a chtěl bych nastavit službu OSPF podobným způsobem na BIRD.
Co dělat?
Můj /etc/quagga/ospfd.conf
je:
!
! 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
!
Přijatá odpověď:
Po vyřešení zde popsaných problémů s šifrováním OSPF md5 z Quagga do BIRD a s náklady na cestu OSPF v BIRD je zbytek migrace relativně snadný.
Chcete-li mít ekvivalentní službu, postupujte takto:
sudo dpkg --purge quagga
sudo apt-get install bird
sudo chkconfig bird6 off
sudo service bird6 stop
Pak je potřeba vytvořit nastavení v /etc/bird/bird.conf
jako:
#
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;
};
};
}
Po úpravě konfigurace:
sudo service bird restart
Chcete-li zkontrolovat službu na místním serveru:
sudo birdc
a poté
show status
a
show ospf
a
show ospf state
a
show ospf neighbors
P.S. Nenašel jsem přímočarý dokument a nenašel jsem toho mnoho o koexistenci Quaggy a migraci do BIRDu a rozhodl jsem se to zdokumentovat zde.
Související:Použití regulárního výrazu uvnitř if klauzule v bash?Nemigroval jsem všechny své Quagga servery/uzly OSPF najednou, protože obě konfigurace jsou podobné a mluví spolu (samozřejmě přes protokol OSPF).