Quick start

netlab.toolsarrow-up-right — official documentation and resources

GitHub Repositoryarrow-up-right — source code and issue tracking

Netlabenvelope 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