•  Home
  •  Dashboard
  •  Company
    • About Us
    • Blog
    • Careers
    • Contact Us
    • Data Centers
    • Looking Glass
    • Network
    • Reseller
  •  Hosting Services
    • Infrastructure
      • iColocation
    • Compute
      • cMetal
      • cVirtual
    • Storage
      • sObject
      • sBlock
    • Networking
      • nCDN
      • nIP Transit
      • nWavelength
    • Protection
      • pBackup
      • pDDoS
  •  Solutions
    • Ecommerce
    • Finance
    • Gaming
    • Hosting
    • Management
    • Security
    • System Integrator
  •  Support
    • Community
    • Knowledge Base
    • Open A Ticket
  •  USA & Canada: 800-933-1517
  •  International: 626-549-2801
  •  Email: sales@psychz.net
  • Services
    • new-colocation-header-img
      Infrastructure
      • iColocation
    • new-compute-header-img
      Compute
      • cMetal
      • cVirtual
    • new-storage-header-img
      Storage
      • sObject
      • sBlock
    • new-networking-header-img
      Networking
      • nCDN
      • nIP Transit
      • nWavelength
    • new-protection-header-img
      Protection
      • pBackup
      • pDDoS
  • Solutions
    • Ecommerce
    • Security
    • Gaming
    • Hosting
    • Management
    • Finance
    • System Integrator
  • Dashboard

Quagga Routing - Install, Configure and setup BGP

  • Home
  • Client
  • Knowledgebase
  • Network
  • Quagga Routing - Install, Configure and setup BGP

Table Of Content

Related Articles

  • Setup VPN on CentOS 8
  • Data Center Redundancy: N+1
  • What is the difference between Latency, Bandwidth and Throughput?
  • How To Point A Domain Name To An IP Address
  • How to do a speed test using Psychz looking glass?
  • Guide to establish a GRE Tunnel and BGP peering session on MikroTik RouterOS
  • Common Types of Network Attacks
  • Community Strings For Psychz Networks
  • IPv4 - Subnetting made easy
  • Centos add virtual IP(s)
  • Views: (6707)
  • Votes: (0)
Was this article helpful?
VOTE

Quagga Routing - Install, Configure and setup BGP

Publisher: Psychz Networks,  November 21,2017

Quagga routing suite is a fine open-source routing software. Quagga is a fork of GNU Zebra which allows the functionality of routing. Just like you can access router and give commands, you can do the same with this application.
Its architecture is very interesting since it is installed on Linux and it acts as an abstraction layer on the Kernel of Linux server and rest of the architecture consists of sockets on which all the communication occurs.
You can access all the protocols through CLI just like you are accessing some third layer router and you will not feel any difference in applying commands.

  • Installing
  • Configuration
  • Zebra Coniguration
  • Vytish CLI
  • BGP Peering
  • Configure Prefix


Quagga Installation

To install Quagga on your system, please use the following commands.

1. For CentOS operating system: yum install quagga

2. CentOS 7 operating system: yum install quagga setsebool zebra_write_config 1

3. Debian/Ubuntu family: apt-get install quagga

Quagga Configuration

The Quagga suite contains several different pieces of software that work together to accomplish successful routing. For BGP routing, we are focusing primarily on two daemons, namely

Zebra- A core daemon that focuses on kernel interfaces and static routing.
BGPd- A BGP daemon

Zebra Configuration

Once installed, we need to configure everything. Let’s start with Zebra and configure logging with it.

cp /usr/share/doc/quagga-XXXXX/zebra.conf.sample /etc/quagga/zebra.conf

(Note: "quagga-XXXXX" in the above line refers to the version of Quagga that you have installed. For instance, we have installed version "quagga-0.99.22.4" in this case.)


CentOS
service zebra start
chkconfig zebra on

CentOS 7
systemctl start zebra
systemctl enable zebra

Vtysh CLI

Quagga offers a dedicated CLI shell called vtysh. This CLI helps the user to interact with the software with user-friendly commands.

To launch vtysh, we use the following command.

vtysh

Specify the log file for Zebra via the following command.

configure terminal
log file /var/log/quagga/quagga.log
exit

Now we save the configuration before exiting.

write


BGP peering Configuration

For BGP peering, we first copy the sample configuration file from "/usr/share/doc" to "/etc". Then, we will start and enable the bgp service. After all this is done, we configure the BGP session.


1) Let’s prepare the BGP daemon (BGPd)’s configuration file.

cp /usr/share/doc/quagga-XXXXXXX/bgpd.conf.sample /etc/quagga/bgpd.conf

2) Start and enable the bgpd daemon

CentOS 6
service bgpd start
chkconfig bgpd on
CentOS 7
systemctl start bgpd
systemctl enable bgpd


Now we enter the Quagga shell with the help of the following command.

vtysh

Now let’s make our own BGP session.

configure terminal
router bgp <asn>
no auto-summary
no synchronization
neighbor <neighbor IP> remote-as <remote ASN>
neighbor <neighbor IP> description “Remote ASN”
exit
exit
write

Now please confirm that BGP is setup properly with the following command.

show ip bgp summary

Configure prefix advertisements

In this example, we will advertise prefix 8.8.8.0/24. You can choose any prefix as per your network preferences.

configure terminal
router
bgp <asn>
network 8.8.8.8/24
exit
write

Related Articles

  • Setup VPN on CentOS 8
  • Data Center Redundancy: N+1
  • What is the difference between Latency, Bandwidth and Throughput?
  • How To Point A Domain Name To An IP Address
  • How to do a speed test using Psychz looking glass?
  • Guide to establish a GRE Tunnel and BGP peering session on MikroTik RouterOS
  • Common Types of Network Attacks
  • Community Strings For Psychz Networks
  • IPv4 - Subnetting made easy
  • Centos add virtual IP(s)
  • Views: (6707)
  • Votes: (0)
Was this article helpful?
VOTE
Copyright © 2025 Psychz Networks,
A Profuse Solutions Inc Company
Hosting Services
Infrastructure
  • iColocation
Compute
  • cMetal
  • cVirtual
Storage
  • sObject
  • sBlock
Networking
  • nCDN
  • nIP Transit
  • nWavelength
Protection
  • pBackup
  • pDDoS
Company
  • About Us
  • Blog
  • Careers
  • Contact Us
  • Data Centers
  • Looking Glass
  • Network
  • Reseller
Policies
  • Acceptable Usage Policy
  • Privacy Policy
  • Service Level Agreement
  • Terms and Conditions
Support
  • Community
  • Knowledge Base
  • Open A Ticket
Get In Touch
  • Psychz Networks,
    A Profuse Solutions Company
    611 Wilshire Blvd #300
    Los Angeles,California 90017
    USA
  • US/Canada: 800-933-1517
  • International: 626-549-2801