The BIRD Internet Routing Daemon.
The BIRD project aims to develop a fully functional dynamic IP routing daemon primarily targeted on (but not limited to) Linux, FreeBSD and other UNIX-like systems BIRD supports Internet Protocol version 4 and version 6 by running separate daemons. It establishes multiple routing tables, and uses BGP, RIP, and OSPF routing protocols, as well as statically defined routes. Learn more about the project via https://bird.network.cz/Installation on debian distributions
Here we install bird on linux box running ubuntu 18 and configure local BGP using BIRD between the box and a junos router.
The precedding numbers on each step below correlate to the timestamps on the snapshots
- 1958:16 Install bird
sudo apt install bird - 1958:21 Check the if ip forwarding is enable in the file
/etc/sysctl.confin this case the output lines are starting with#that means they are commented and hence ip forwarding is disabled 1958:51 Use nano editor or any editor of your choice to edit the file
/etc/sysctl.confand remove the#preceeding the linesnet.ipv4.ip_forward=1 net.ipv6.conf.all.forwarding=1
1958:51 Verify the lines have been uncommented and there is no preceeding
#- 2013:31 Make a backup of the default bird configuration you may need it in the future

Configuring the BIRD
The precedding numbers on each step below correlate to the timestamps on the snapshots
- 2301:28 Edit the
/etc/bird/bird.confto specify your bgp and neighbor parameters and prefixes to announce. 2301:33 Sample configuration I have put in the
/etc/bird/bird.confI have used awk to only print the lines I have modified in the file
2301:36 Start the bird service on the machine.
If there is something wrong in the
/etc/bird/bird.confthe service will not start. In such case the terminal will suggest some methods to follow so as to view the logs2301:48 Verify the service is started

- 2315:06 Verify BGP by getting into the bird client issue command birdc as super user
Use the commandshow protocols all bgp1to check the bgp summary. We see the configured neighbour 192.168.56.36 is up and we are receiving 1 prefix. To view the prefix issue the commandshow route protocol bgp1This shows we are receiving a default route - 2315:54 Verify the host machine routing table. We see the default route we receive from the bgp neighbour 192.168.56.36 is installed in the local machine routing table with the next-hop 192.168.56.2

- 2335:56 Login to the router 192.168.56.36 we see the bgp session is up. The router is advertising the default route to the machine running bird and receiving the two prefixes as we announce them on the bird configuration
@2301:33

