Open-Source BGP Configuration Labs
This series of BGP hands-on labs will help you master numerous aspects of EBGP, IBGP, and BGP routing policy configuration on a platform of your choice1, including:
- Arista EOS
- Aruba AOS-CX
- Cisco ASAv, IOSv, IOS XE, IOS XR and Nexus OS
- Cumulus Linux and FRR
- Dell OS10
- Juniper vSRX, vMX and vPTX
- Mikrotik RouterOS
- Nokia SR OS and SR Linux
- Vyatta VyOS
Dozens of labs are already waiting for you (with more coming soon), but if this is your first visit to this site, you should start with the Installation and Setup documentation or run BGP labs in GitHub codespaces.
Deploy BGP in Your Network
In the first set of the BGP labs, you’ll master these skills:
- Configure and monitor routing daemons on Cumulus Linux and FRRouting
- Configure BGP sessions and advertise IPv4 and IPv6 prefixes
- Protect BGP sessions
- Run BGP in networks with more than one BGP router
- Manipulate BGP AS numbers or AS paths with nerd knobs like as-override and local-as
- Implement load balancing within an autonomous system and across EBGP neighbors
- Configure advanced BGP features like BFD or BGP route aggregation.
BGP Routing Policies
These lab exercises will help you master the basic tools you can use to build BGP routing policies that will:
Once you mastered the basics, continue with more complex routing policies.
Challenge Labs
Mastered the fundamentals and the nerd knobs? Want to tickle your gray cells? Try out the challenge labs:
- BGP Graceful Shutdown
- Stop the Propagation of Configuration Errors
- Merge Networks Using Different BGP AS Numbers
- Minimize the Forwarding Table on BGP Routers
- Implement BGP-Free Core in a Transit Network
Recent Labs
These are the most recent labs added to the BGP Labs project:
- Passive BGP Sessions
- IBGP Load Balancing with BGP Additional Paths
- Running EBGP Across a Firewall
- Use Disaggregated Prefixes to Select the Primary Link
- Use Outbound Route Filters (ORF) for IP Prefixes
- Dynamic BGP Peers
- BGP Route Server in an Internet Exchange Point
-
Some assembly required: the virtual machines or containers that we recommend to use as external BGP speakers are easy to download, but you’ll have to build a Vagrant box or install a vendor-supplied Vagrant box or Docker container image for most other platforms. See installation and setup for details. ↩