Lab Host — Linux
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)
- Install Docker Engine (or Podman only if you know Containerlab support for your version)
- Add your user to the
dockergroup (or use root consistently in labs)
- Enable and start the service;
docker infosucceeds
Kernel / modules
- Bridge, veth, and overlay-related features must work
- Nested virt: confirm if you need it for chosen NOS images
Install Containerlab
- Follow Containerlab install for Linux
- Verify:
containerlab version
- Optional: bash completion
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
- Deploy a minimal two-node topology
- Confirm links and management connectivity
- Capture with
tcpdumpon a veth if useful
containerlab destroy -t <file>— clean teardown
Next
- macOS path: Lab Host — macOS
- Then Containerlab Fundamentals