Skip to content
BGP peering with Quagga and ExaBGP
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
roles
README.md
hosts
site.yml

README.md

BGP Peer Demo

This is a rough example of setting up BGP peering using Quagga and ExaBGP. I also tried using GIXLG, primarily as a way to test if ExaBGP was processing received routes.

I barely know anything about BGP so if you see something crazy here, please let me know.

So far I have 2 hosts that establish a connection and Quagga appears to be able to send routes to ExaBGP (though I don't know what it does with them). ExaBGP can send routes to Quagga, but I can't tell that Quagga notices or cares.

Instructions

Set up 2 Debian VMs. I used VirtualBox with the Bridged Adapter with the following IPs:

  • Quagga: 192.168.0.100
  • ExaBGP: 192.168.0.200

Run the ansible playbook:

ansible-playbook -i hosts --user --ask-pass site.yml

Run exabgp on 192.168.0.200:

exabgp -d /opt/gixlg/exabgp/sample.conf

From a separate terminal on 192.168.0.200 you can view the connection status or announce a route:

exabgpcli show neighbor summary
exabgpcli announce route 192.168.43.0/24 next-hop 192.168.0.100

On 192.168.0.100:

vtysh
debian# configure terminal
debian(config)# router bgp 65321
debian(config-router)# network 192.168.99.0/24
debian(config-router)# exit
debian(config)# exit
debian# write
debian# exit

This route should be announced to ExaBGP.

You can’t perform that action at this time.