Quick start
netlab.tools — official documentation and resources
GitHub Repository — source code and issue tracking
Netlab brings the principles of Infrastructure-as-Code to virtual network lab environments. You can think of it as a Lab-as-Code solution: to build a lab, all you need is a topology description in YAML.
Netlab automates the entire lifecycle of a network lab, including:
Containerlab configuration generation for launching Docker-based network nodes
Ansible inventory and device configuration files creation
IPv4/IPv6 address allocation and protocol setup for OSPFv2, OSPFv3, EIGRP, IS-IS, RIPv2, RIPng, BGP
Protocol and service configuration including IPv4, IPv6, DHCP, DHCPv6, VLANs, VRFs, VXLAN, LLDP, BFD, VRRP, LACP, LAG, MLAG, STP, anycast gateways, static routes, route maps, prefix lists, AS-path prefix lists, route redistribution, default route origination, MPLS, BGP-LU, L3VPN (VPNv4 + VPNv6), EVPN, SR-MPLS, SRv6
Topology diagrams and protocol reports generation
Virtual link quality configuration and control
Local and remote traffic capture
If you're tired of manually building labs through GUI just to test one or two features — or if you want to streamline lab setup while learning specific technologies — Netlab is an ideal choice.
Installing Netlab
To install Netlab, you need Python 3 available on your system. Run the following command:
python3 -m pip install networklab
This will install the netlab package along with all required dependencies.
Netlab works best on *nix host or WSL (Windows Subsystem for Linux). If you want to start on MacOS with Apple Silicon (M-series chips) you may encounter issues finding compatible container images for the ARM architecture.
Last updated