This repository contains my experiments and network lab configurations built with the excellent tool Containerlab.
Containerlab allows for the quick deployment of network topologies using Docker images. However, it can also leverage QEMU images to support certain network devices, such as MikroTik routers.
All these labs are designed following the Infrastructure as Code approach:
- YAML is used for defining the lab with Containerlab.
- D2 is used for creating network diagrams with d2.
Creating a lab is simple:
- Define the topology in a YAML file in
<LABNAME>
folder - [optional] Build docker images²
just build imgnameX build imgnameY
- Deploy the lab with the following command:
just deploy just info # Wait 1 minute before going to next step
- Test your lab if it run correctely:
just test
- [optional] Show the network wires with
edgeshark
just edgeshark-start just edgeshark-open just edgeshark-stop
- Document your lab in a D2 file:
just diagram
Name | Description | Tags |
---|---|---|
2024-11-18 - mikrotik-ipv4-vlan-homelab | 3 VLANs on Mikrotik routers | ipv4, vlan, mikrotik |
2025-04-26 - mikrotik-dns-failover | DNS failover on Mikrotik routers | dns, failover, mikrotik |