Lab Host — Linux

Updated

September 4, 2026

Lab Host — Linux

Prepare a Linux machine (bare metal or VM) as the Containerlab control host: kernel/container runtime, permissions, and host networking.

Note

Stub chapter — outline for the lab-platform on-ramp. Expand with distro-specific package names as you freeze a baseline (Debian/Ubuntu recommended for docs).

Goals

  • Install Docker or a Containerlab-supported runtime
  • Install Containerlab and free images
  • Avoid permission and firewall traps that break lab deploy

Prerequisites

  • 64-bit Linux with virtualization if nested (for some images)
  • Root or passwordless sudo for install steps
  • Enough RAM/disk for your target topology scale

Container runtime

Typical path (Debian/Ubuntu-style)

  1. Install Docker Engine (or Podman only if you know Containerlab support for your version)
  2. Add your user to the docker group (or use root consistently in labs)
  3. Enable and start the service; docker info succeeds

Kernel / modules

  • Bridge, veth, and overlay-related features must work
  • Nested virt: confirm if you need it for chosen NOS images

Install Containerlab

Host networking and firewall

  • Local firewalls (ufw, firewalld, nftables) can block management or published ports
  • Don’t disable security blindly — open what the lab needs
  • IP forwarding may be required for some designs later

First smoke test

  1. Deploy a minimal two-node topology
  2. Confirm links and management connectivity
  3. Capture with tcpdump on a veth if useful
  4. containerlab destroy -t <file> — clean teardown

Next