OSPF: Migrating Quagga to BIRD

I need/want to migrate from Quagga to BIRD after several Quagga hiccups, namely Quagga stopped working after updates in Stretch.

BIRD is also more flexible and modern.

I have my OSPF BIND anycast configuration in Quagga and would like to setup the OSPF service in a way similar on BIRD.

What to do?

My /etc/quagga/ospfd.conf is:

!
! 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
!

Answers:

Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.

Method 1

After solving the problems described here OSPF md5 encryption from Quagga to BIRD and in OSPF route costs in BIRD , the rest of the migration is relatively easy.

To have an equivalent service, the steps are:

sudo dpkg --purge quagga
sudo apt-get install bird
sudo chkconfig bird6 off
sudo service bird6 stop

Then there is a need to create the setup in /etc/bird/bird.conf as:

#
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;
            };

        };
}

After modifying the configuration:

sudo service bird restart

To check for the service on the local server:

sudo birdc

and then

show status

and

show ospf

and

show ospf state

and

show ospf neighbors

P.S. I did not find a straightforward document, and did not find much about Quagga coexisting and migrating to BIRD, and decided to document it here.

I did not migrate all my Quagga servers/OSPF nodes at once, because both configurations are similar, and talk with each other (via the OSPF protocol obviously).

See also OSPF import route filter for BIRD


All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x