•  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
      • nIP Transit
      • nWavelength
    • Protection
      • pBackup
      • pDDoS
  •  Solutions
    • Ecommerce
    • Finance
    • Gaming
    • Hosting
    • Management
    • Security
    • System Integrator
  •  Support
    • Community
    • Knowledge Base
    • Open A Ticket
    • Status
  •  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
      • 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

    • IPv4 Subnets Explained: /31, /30, /29, /28, /27, /26 (How Many IPs You Can Actually Use)
    • 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)

    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
    Views: (9687) Votes: (0)

    Related Articles

    • IPv4 Subnets Explained: /31, /30, /29, /28, /27, /26 (How Many IPs You Can Actually Use)
    • 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)
    Copyright © 2026 Psychz Networks,
    A Profuse Solutions Inc Company
    Hosting Services
    • Catalog
    Infrastructure
    • iColocation
    Compute
    • cMetal
    • cVirtual
    Storage
    • sObject
    • sBlock
    Networking
    • 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
    • Status
    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