← Home

Getting started

One-time setup. About ten minutes on a fresh Ubuntu machine or VM. After this, every lab is a single command.

What you need

On a Mac or Windows laptop, the simplest route is a small Ubuntu VM in VirtualBox, UTM, or Multipass. No nested virtualization is needed — FRR runs as a plain container.

Install

  1. Docker
    curl -fsSL https://get.docker.com | sudo sh
    sudo usermod -aG docker $USER

    Log out and back in so the group change takes effect.

  2. Containerlab
    bash -c "$(curl -sL https://get.containerlab.dev)"

    Confirm with containerlab version.

  3. Pull the router image once
    docker pull frrouting/frr:latest

    Every lab uses this same image, so this is the only download.

Run a lab

unzip lab-01-ospf-area-boundary.zip
cd lab-01-ospf-area-boundary
./labctl deploy

Each lab folder has the same launcher with the same commands:

./labctl deploy     # bring it up and apply the scenario
./labctl status     # neighbor state and routes at a glance
./labctl verify     # check your fix
./labctl reset      # back to the broken starting state
./labctl destroy    # tear it down

Working in vtysh

FRR's shell is modeled on IOS. Get into a router with:

docker exec -it clab-<lab-name>-r1 vtysh

From there the commands you already know work as expected:

show ip route
show ip ospf neighbor
show ip ospf database
show ip bgp summary
show running-config
configure terminal

The differences you'll notice: interfaces are named eth1, eth2 rather than GigabitEthernet; prefixes use CIDR (10.0.0.0/24) rather than wildcard masks; and in BGP, neighbors are activated under address-family ipv4 unicast. That's about the whole list for OSPF and BGP work.

If something's off

Start with the free lab