Built around the concept, not the config.

Most labs teach you to follow steps. Adjacency Labs drops you into a broken network and asks you to figure out what's wrong before it tells you.

Test your troubleshooting instincts, sharpen your protocol knowledge, or just see if you can solve it.

Containerlab + FRR Runs on a laptop Instant download
r1 (vtysh)

These labs teach you to notice what's wrong.

A lab that hands you a script to run doesn't build the instinct you need on a real network. These are built the other way around: something is broken, you investigate, and the explanation only shows up after you've formed a theory.

Broken first

Every lab deploys already misconfigured. You diagnose it the way you'd work a ticket, with no walkthrough waiting at the bottom of the page.

The concept, not just the fix

The write-up doesn't stop at "change this line." It explains why the protocol behaves that way, so the lesson carries to configs you haven't seen yet.

Small and specific

Each lab isolates one behavior: one LSA type, one best-path rule, one redistribution trap. Three or four routers, not a sprawling topology.

Built for engineers who troubleshoot.

See exactly what a lab looks like

This is Lab 01, the same one running in the terminal above. It's free, so you can check the format and quality before buying anything.

topology.yml (3 nodes, 2 areas)
area 0 area 1 10.0.12.0/30 10.0.23.0/30 r1 r2 r3 10.3.1.0/24 10.3.2.0/24 10.3.3.0/24 should summarize to 10.3.0.0/22 AL·01

Every lab ships with the topology file, a startup config per router, and the scenario doc shown here. Deploy in one command.

scenario.md

Symptom

r3 advertises three /24 subnets into area 1. They should reach area 0 as a single summarized route. They don't.

expected10.3.0.0/22 actual10.3.1.0/24, 10.3.2.0/24, 10.3.3.0/24

Investigate before reading on

  1. Which router is actually the ABR here? Which has interfaces in more than one area?
  2. What does summarization require of the router it's configured on?
  3. Which router originates the inter-area LSAs carrying these prefixes into area 0?
  4. Where is area range configured right now?
Get Lab 01 free

Delivered by Gumroad to your email. Full scenario doc, topology, and configs.

What's in the pack

Ten challenges, five OSPF and five BGP. Each one isolates a single behavior that trips people up in both exam labs and real troubleshooting.

OSPF
01

OSPF Area Boundary Trapfree

Three /24s arrive in area 0 where one summary route was expected.

OSPFBeginner10-20 min3 routers
02

Stub Area Misclassification

One router's neighbour table is empty while its interface is up and its hellos are going out.

OSPFIntermediate15-25 min4 routers
03

Stuck in ExStart

Two routers can see each other, but the adjacency never reaches Full.

OSPFAdvanced25-40 min4 routers
04

Network Type Mismatch

The adjacency is Full at both ends, and nothing ever crosses the link.

OSPFAdvanced25-40 min4 routers
05

Mutual Redistribution Loop

Traffic bounces between two routers, gets through, then bounces again.

OSPF and BGPExpert40-60 min4 routers
BGP
06

Missing Route Reflector

Every session is up and the hub holds every route, yet passes none of them on.

BGPIntermediate15-25 min4 routers
07

Unreachable Next Hop

The route arrives, sits in the BGP table, and never reaches the routing table.

BGPAdvanced20-35 min4 routers
08

AS-Path Prepend That Does Nothing

The customer prepends toward its backup link, and the traffic keeps arriving there anyway.

BGPAdvanced25-40 min4 routers
09

Local Preference vs MED

Traffic leaves over the primary link and comes back over the backup.

BGPExpert35-55 min4 routers
10

Network Statement That Won't Advertise

The site networks are up, the session is Established, and BGP announces nothing.

BGPIntermediate15-30 min4 routers

How each lab works

Same six-step shape every time, so you spend your time on the networking, not on the format.

1

Deploy

One command spins up the topology in Containerlab, already broken.

2

Observe

Check the routing table or adjacency state and compare it to what's expected.

3

Investigate

Work through the scenario doc's questions. No answers given yet.

4

Fix

Change the configuration you think is wrong, on the router you think owns it.

5

Verify

./labctl verify tests the behavior rather than the config text, and names the condition still unmet.

6

Understand

The reveal explains the mechanism, why it behaves that way, and the same trap on Cisco IOS-XE.

Pricing

One price, everything included. No account, no subscription.

$29 one-time

All ten labs, yours to keep.

  • 10 Containerlab scenario labs (5 OSPF, 5 BGP)
  • Topology files and broken starting configs for every router
  • Scenario docs with investigation questions before the reveal
  • Concept write-ups that explain the mechanism, not just the fix
  • Instant download after checkout
Get the pack, $29
what you download
adjacency-ospf-bgp-pack/
├── README.md
├── LICENSE.txt
├── lab-01-area-boundary-trap/
│ ├── topology.yml
│ ├── topology.svg
│ ├── scenario.md
│ ├── reveal.md
│ ├── lab.html
│ ├── labctl
│ ├── configs/
│ └── faults/
├── lab-02-stub-misclassification/
│ └── ...
├── ...
└── lab-10-network-statement-mismatch/
└── ...

Questions

What is needed to run these?

Docker and Containerlab on any Linux host or VM. On a Mac that is a small Ubuntu VM through Multipass, which the Mac track in Getting started sets up. A laptop with 4 GB of free RAM is enough. No physical gear, no EVE-NG license, no vendor images to source.

Does this work on Windows?

Yes, through WSL2, in ten to twenty minutes; longer the first time on a machine that has never had WSL2 or a VM. WSL2 runs a real Linux kernel, so Docker and Containerlab behave as they do on a Linux host, and Docker Desktop is not required. The Windows track in Getting started walks through it.

Is prior OSPF and BGP knowledge assumed?

Basic familiarity helps. These assume you know what the protocols are and roughly how they work. The labs are aimed at the gap between passing the exam module and catching this on a real network.

Is this useful for CCNP or CCIE study?

Yes. The scenarios are chosen because they're the kind of behavior that trips people up in both exam labs and production troubleshooting, not exam trivia.

Why FRR instead of Cisco IOS?

FRR runs in a plain Docker container with no licensing, so the labs work on anything. The underlying protocol mechanics are standards-based and transfer directly across platforms, while exact syntax and some implementation details differ between FRR, IOS, Junos, EOS, and other network operating systems. The labs pin FRR 10.4.5 (quay.io/frrouting/frr:10.4.5), which runs on Intel and Apple Silicon alike.

Do you add new labs over time?

New scenario packs are released separately as they're built. This page lists what's current.