Open In App

How to Configure Quagga Routing Suite on Linux?

Last Updated : 05 Feb, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

Quagga is a routing software suite that provides support for various routing protocols, including OSPF Open Shortest Path First), BGP (Border Gateway Protocol), and RIP (Routing Information Protocol). It is designed to run on Unix-like operating systems, such as Linux, and is often used in large networks to route traffic and manage routing protocols. Quagga is open-source software and is available for download and use under the GNU General Public License.

To configure Quagga on a Linux system, you will need to install the Quagga package and configure the routing protocols you want to use.

Installation of Quagga

To install Quagga on a Linux system, you will need to use your package manager to download and install the Quagga package. The specific commands for doing this will depend on your Linux distribution and package manager.

On a Debian-based system using the apt package manager, you can install Quagga using the following command:

sudo apt-get install quagga

On a Red Hat-based system using the yum package manager, you can install Quagga using the following command:

sudo yum install quagga

Once the Quagga package is installed, you will need to configure the routing protocols you want to use.

Installing Quagga using apt manager

 

 

 

Configuration 

Quagga uses a configuration file for each routing protocol it supports. The configuration file for each protocol is stored in the /etc/quagga directory and has a .conf extension.

The configuration file for the OSPF routing protocol is /etc/quagga/ospfd.conf.

To configure a routing protocol, you will need to edit the corresponding configuration file and specify the options for the protocol. The specific options and syntax for each protocol are documented in the Quagga documentation.

To configure the OSPF routing protocol, you might include the following options in the /etc/quagga/ospfd.conf file:

nano /etc/quagga/ospfd.conf

Opening quagga conf file

 

router ospf
  router-id 10.1.1.1
  network 10.1.1.0/24 area 0.0.0.0
  network 192.168.1.0/24 area 0.0.0.0
  network 192.168.2.0/24 area 0.0.0.0
  redistribute static
  redistribute connected
  log-adjacency-changes

This configuration specifies that the router is using OSPF as its routing protocol and has a router ID of 10.1.1.1. The router is also connected to three networks: 10.1.1.0/24, 192.168.1.0/24, and 192.168.2.0/24, and all of these networks are in the same area (0.0.0.0).

The redistribute static and redistribute connected commands tell the router to include routes that are statically configured or that are connected to the router as directly connected networks in its routing table.

The log-adjacency-changes command tells the router to log any changes to the adjacencies (neighboring relationships) between routers. This can be useful for debugging and troubleshooting.

 

Press Ctrl+X and Y

This configuration specifies the router ID for the OSPF router, as well as the networks that should be advertised via OSPF and the areas they belong to. It also specifies that static and connected routes should be redistributed into OSPF and that log messages should be generated when adjacencies change.

Once you have configured the routing protocols you want to use, you will need to start the Quagga daemon to apply the configuration.

Starting the Quagga Daemon

To start the Quagga daemon, you can use the systemctl command to start the quagga service.

sudo systemctl start quagga

Starting quagga service

 

To enable the Quagga daemon to start automatically at boot, you can use the systemctl command to enable the quagga service.

sudo systemctl enable quagga

Use the systemctl command to check the status of the Quagga daemon and troubleshoot any issues.

sudo systemctl status quagga

Starting the Zebra Daemon

Step 1: Open the Quagga configuration file for the zebra daemon, which is typically located at /etc/quagga/zebra.conf.

nano /etc/quagga/zebra.conf
Starting Zebra service

 

Step 2: Add the following lines to the configuration file:

hostname zebra
password zebra
enable password zebra
Adding hostname and password info in zebra conf file

 

Save the configuration file and exit.

Step 3: Start the zebra daemon by running the following command: 

/usr/lib/quagga/zebra -d -f /etc/quagga/zebra.conf

Starting Zebra daemon

 

To check if the zebra daemon is running:

ps aux | grep zebra

Starting the Ospfd Daemon

Step 1: Open the Quagga configuration file for the OSPFD daemon, which is typically located at /etc/quagga/ospfd.conf.

nano /etc/quagga/ospfd.conf
Starting Ospfd service

 

Step 2: Add the following lines to the configuration file:

hostname ospfd
password ospfd
enable password ospfd
Adding hostname and password info in ospfd conf file

 

Save the configuration file and exit.

Step 3: Start the OSPFD daemon by running the following command:

/usr/lib/quagga/ospfd -d -f /etc/quagga/ospfd.conf

To check if OSPFD daemon is running:

ps aux | grep ospfd

Starting the Ripd Daemon

Step 1: Open the Quagga configuration file for the RIPD daemon, which is typically located at /etc/quagga/ripd.conf.

nano /etc/quagga/ripd.conf
Opening ripd conf file

 

Step 2: Add the following lines to the configuration file:

hostname ripd
password ripd
enable password ripd
Adding hostname and password info in ripd conf file

 

Save the configuration file and exit.

Step 3: Start the RIPD Daemon by running the following command:

/usr/lib/quagga/ripd -d -f /etc/quagga/ripd.conf

To check if RIPD Daemon is running:

ps aux | grep ripd

Conclusion

Quagga is a routing software suite that can be used on Linux systems to manage various routing protocols. It must be installed and configured in order to use the desired protocols. The Quagga daemon and the specific daemon for each protocol must be started in order to use Quagga. The systemctl command can be used to start, enable, and check the status of the Quagga daemon. It is important to ensure that the Quagga daemons are running and functioning properly in order to effectively use the routing protocols.



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads