This repository contains netlab topology files for a series of hands-on labs that will help you master numerous aspects of EBGP, IBGP, and BGP routing policy configuration on a platform of your choice1. You can run them on your laptop (including Apple silicon), on a local server, in the cloud, or in a (free) GitHub codespace.
The labs cover:
Basic BGP Setup
- Configuring BGP on FRRouting
- Configure a Single EBGP Session
- Configure Multiple EBGP Sessions
- Advertise IPv4 Prefixes to BGP Neighbors
- Configure BGP for IPv6
- Redistribute IGP Information Into BGP
Protecting BGP Sessions
- Protect BGP Sessions with Passwords and GTSM
- Protect BGP Sessions with TCP Authentication Option (TCP-AO)
- Limit the Number of Accepted BGP Prefixes
Running BGP in Larger Networks
- Establish an IBGP Session Between WAN Edge Routers
- Build a Transit Network with IBGP
- Use BGP Route Reflectors
- BGP Session Templates
- BGP Policy Templates
- Dynamic BGP Peers
Simple BGP Routing Policies
- Select Preferred EBGP Peer with Weights
- Filter Transit Routes
- Filter Advertised Prefixes
- Minimize the Size of Your BGP Table
- Select Preferred Uplink with BGP Local Preference
- Use MED to Influence Incoming Traffic Flow
- Use AS-Path Prepending to Influence Incoming Traffic Flow
- Attach BGP Communities to Outgoing BGP Updates
- Use Outbound Route Filters (ORF) for IP Prefixes
- Use Disaggregated Prefixes to Select the Primary Link
Complex BGP Routing Policies
- Use BGP Communities in Routing Policies
- BGP Local Preference in a Complex Routing Policy
- BGP Policy Templates
- Resolve BGP Wedgies
Load Balancing
- Load Balancing across External BGP Paths
- EBGP Load Balancing with BGP Link Bandwidth
- IBGP Load Balancing with BGP Link Bandwidth
- IBGP Load Balancing with BGP Additional Paths
Advanced Topics
- Use BGP Timers and BFD to Speed Up BGP Convergence
- BGP Route Aggregation
- Running EBGP Across a Firewall
- Reuse a BGP AS Number Across Multiple Sites
- Fix AS-Path in Environments Reusing BGP AS Numbers
- Use Multiple AS Numbers on the Same Router
- Remove Private BGP AS Numbers from the AS Path
- Advertise Default Route in BGP
- EBGP Sessions over IPv6 LLA Interfaces
- BGP Route Server in an Internet Exchange Point
- Passive BGP Sessions
Challenge Labs
- Using BIRD BGP Daemon as a BGP Route Reflector
- Merge Networks Using Different BGP AS Numbers
- Stop the Propagation of Configuration Errors
- Minimize the Forwarding Table on BGP Routers
- BGP Graceful Shutdown
See lab documentation for more details and the complete list of planned labs.
Footnotes
-
Some assembly required: while the FRRouting containers used for external BGP speakers are easy to download, you'll usually have to build a Vagrant box or install a Docker container image for your platform. ↩