BGP in depth lab 10 of 14
Edge hygiene with filters and RTBH
Kestrel Fibre's edge accepts anything and passes everything on. Filter bogons and over-long prefixes, reject private AS numbers and absurd paths, stop a customer's hijack, stop being a free transit between providers, then stop a DDoS with remotely triggered black holes, at your own edge and at your provider's.
Run this lab
It needs Lite: its 6 nodes are set to 6 vCPU and 3,072 MB in total. That fits the free demo too.
In your workspace: Shared, then BGP in depth guided labs, then 10 - Edge hygiene with filters and RTBH
- Level
- Advanced
- Time
- About 110 minutes
- Nodes need
- 6 vCPU, 3,072 MB
- Smallest plan
- Lite
The scenario
An audit of Kestrel Fibre's edge found no route filters anywhere. TRANSIT sends junk, a customer has announced a prefix it doesn't own, and Kestrel is passing the peer's routes to its transit provider for free. On top of that, the audit's author would like to know what you'd do about a DDoS. You've got one change window for all of it.
| Prefix | Heard from | Problem |
|---|---|---|
| 198.51.100.0/24 | TRANSIT | Good |
| 198.18.0.0/24 | TRANSIT | Good route, but CUST also claims it |
| 10.66.0.0/16 | TRANSIT | Private space |
| 198.18.2.128/25 | TRANSIT | Longer than /24 |
| 198.18.3.0/24 | TRANSIT | Private AS 65001 in the path |
| 198.18.4.0/24 | TRANSIT | Eight AS hops |
| 192.0.2.0/24 | PEER | Good, but must not reach TRANSIT |
| 203.0.113.0/24 | CUST | Good |
The AS numbers 64496 to 64511 are reserved for documentation, so this lab's filters don't catch them. In production, your bogon list also has the documentation prefixes that this lab uses as its Internet.
| Device | Interface | Address | Connects to |
|---|---|---|---|
| EDGE1 | Loopback0 | 10.255.0.1/32 | |
| EDGE1 | Gi0/0 | 10.0.12.1/30 | EDGE2 Gi0/0 |
| EDGE1 | Gi0/1 | 10.0.13.1/30 | TRIG Gi0/0 |
| EDGE1 | Gi0/2 | 172.16.1.1/30 | TRANSIT Gi0/0 |
| EDGE2 | Loopback0 | 10.255.0.2/32 | |
| EDGE2 | Gi0/0 | 10.0.12.2/30 | EDGE1 Gi0/0 |
| EDGE2 | Gi0/1 | 10.0.23.1/30 | TRIG Gi0/1 |
| EDGE2 | Gi0/2 | 172.16.2.1/30 | PEER Gi0/0 |
| EDGE2 | Gi0/3 | 172.16.3.1/30 | CUST Gi0/0 |
| TRIG | Loopback0 | 10.255.0.3/32 | |
| TRIG | Loopback1 | 198.18.100.1/24 | |
| TRIG | Gi0/0 | 10.0.13.2/30 | EDGE1 Gi0/1 |
| TRIG | Gi0/1 | 10.0.23.2/30 | EDGE2 Gi0/1 |
| TRANSIT | Loopback0 | 10.255.0.8/32 | |
| TRANSIT | Loopback1 | 198.51.100.1/24 | |
| TRANSIT | Loopback2 | 198.18.0.1/24 | |
| TRANSIT | Gi0/0 | 172.16.1.2/30 | EDGE1 Gi0/2 |
| PEER | Loopback0 | 10.255.0.7/32 | |
| PEER | Loopback1 | 192.0.2.1/24 | |
| PEER | Gi0/0 | 172.16.2.2/30 | EDGE2 Gi0/2 |
| CUST | Loopback0 | 10.255.0.9/32 | |
| CUST | Loopback1 | 203.0.113.1/26 | |
| CUST | Loopback2 | 203.0.113.66/26 | |
| CUST | Gi0/0 | 172.16.3.2/30 | EDGE2 Gi0/3 |
What you’ll practise
- Build a bogon and prefix-length filter for routes from the Internet
- Filter on the AS path with regular expressions, including private AS numbers
- Limit a customer to what it owns, by prefix and by path
- Stop your network from becoming a transit between two providers
- Trigger a black hole across your own edge with one static route
- Signal a black hole to a provider with a community
The tasks
- See the problem
- Filter what comes from the Internet
- Filter on the AS path
- Limit the customer
- Don't be a transit
- Remotely triggered black hole
- Black hole at the provider
The Lab Tasks pane has the scenario, these tasks, the checks to run, hints and the full solution.
Topology and devices
The network as it opens in EVE-NG, drawn from the lab’s own canvas, and the image each node runs.
Every link, as text
- EDGE1
Gi0/0to EDGE2Gi0/0 - EDGE1
Gi0/1to TRIGGi0/0 - EDGE2
Gi0/1to TRIGGi0/1 - EDGE1
Gi0/2to TRANSITGi0/0 - EDGE2
Gi0/2to PEERGi0/0 - EDGE2
Gi0/3to CUSTGi0/0
| Node | Device | Image in Add Node | Set to |
|---|---|---|---|
| EDGE1 | Cisco IOSv | vios-adventerprisek9-m.spa.159-3.m9 | 1 vCPU, 512 MB |
| EDGE2 | Cisco IOSv | vios-adventerprisek9-m.spa.159-3.m9 | 1 vCPU, 512 MB |
| TRIG | Cisco IOSv | vios-adventerprisek9-m.spa.159-3.m9 | 1 vCPU, 512 MB |
| TRANSIT | Cisco IOSv | vios-adventerprisek9-m.spa.159-3.m9 | 1 vCPU, 512 MB |
| PEER | Cisco IOSv | vios-adventerprisek9-m.spa.159-3.m9 | 1 vCPU, 512 MB |
| CUST | Cisco IOSv | vios-adventerprisek9-m.spa.159-3.m9 | 1 vCPU, 512 MB |
How to open this lab
Sign in to your workspace at
lab.cloudlabbox.com.In File Manager, open Shared, then the folder
BGP in depth guided labs.Open
10 - Edge hygiene with filters and RTBHand start its nodes, then open Lab Tasks for the scenario and the steps.
The lab is read-only. You can start the nodes and configure the devices, but changes to the topology can’t be saved. To change it, rebuild it in your own folder.
More BGP in depth labs
Related labs in other courses
CloudLabBox is independent of Arista Networks, Cisco, Juniper Networks and MikroTik. The lab follows exam topics and isn’t vendor training material; vendor names identify the exams and the images in the workspace.