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. The labs cover:
Basic BGP Setup
- Configuring and monitoring routing daemons on Cumulus Linux and FRRouting
- Establish a BGP session
- Connect to two upstream providers
- Advertise your IP prefixes
- Configure BGP for IPv6
- Redistribute IGP Information Into BGP
Protecting BGP Sessions
- Protect EBGP sessions with MD5 passwords and TTL protection (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
- Use BGP Session Templates
- Use BGP Policy Templates
Simple BGP Routing Policies
- Use BGP weights to prefer one of the upstream providers
- Prevent route leaking between upstream providers with an AS-path filter
- Filter prefixes advertised by your autonomous system with a prefix list
- Minimize the size of your BGP table with inbound filters
- Implement a consistent AS-wide routing policy 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
Complex BGP Routing Policies
- Use BGP Communities in Routing Policies
- Using BGP Local Preference in a Complex Routing Policy
- Use BGP Policy Templates
Load Balancing
- Load Balancing across External BGP Paths
- EBGP Load Balancing with BGP Link Bandwidth
- IBGP Load Balancing with BGP Link Bandwidth
Advanced Topics
- Use BFD to Speed Up BGP Convergence
- BGP route aggregation
- 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
Challenge Labs
- Merge Networks Using Different BGP AS Numbers
- Stop the Propagation of Configuration Errors
- Minimize the Forwarding Table on BGP Routers
See lab documentation for more details and the complete list of planned labs.
Footnotes
-
Some assembly required: while the Cumulus Linux VMs/containers used for external BGP speakers are easy to download, you'll have to build a Vagrant box or install a Docker container image for your platform. ↩