netlab: a Virtual Networking Labbing Tool¶
netlab will help you be more proficient once you decide to drop GUI-based virtual networking labs and build your labs using CLI and infrastructure-as-code principles.
Using netlab you can:
Describe high-level lab topology in YAML format without worrying about the specific implementation details
Use the same lab topology with multiple virtualization providers (Virtualbox, KVM/libvirt, Docker containers)
Create Vagrant- and containerlab configuration files and Ansible inventory from the lab topology
Configure IP addressing, routing protocols, VLANs, VRFs, and other networking technologies in your lab
Based on your lab topology the netlab up command will:
Create IPv4 and IPv6 addressing plan and OSPFv2, OSPFv3, EIGRP, IS-IS, RIPv2/RIPng, BGP, MPLS/VPN, and EVPN routing design
Prepare all the necessary configuration files to start the lab
Start the lab using Vagrant or containerlab
Create additional virtual networking infrastructure needed to support your lab
Deploy initial configurations (interfaces, IPv4 and IPv6 addresses, usernames…) to your lab devices
Configure VLANs, VRFs, VXLAN, LLDP, BFD, OSPFv2, OSPFv3, EIGRP, RIPv2, RIPng, IS-IS, BGP, VRRP, anycast gateways, MPLS, BGP-LU, L3VPN (VPNv4 + VPNv6), 6PE, EVPN, SR-MPLS, or SRv6 on your lab devices.
Configure prefix lists, AS-path filters, BGP community filters, route maps, route redistribution, and default route origination.
Start external network management tools specified in lab topology like Graphite or SuzieQ
When the lab is fully configured, you can use the:
netlab connect command to connect to network devices via SSH or docker exec
netlab config command to deploy custom configuration snippets
netlab capture command to capture packets on VM- or container interfaces
Before shutting down your lab with the netlab down command, you might want to run the netlab collect command to save the configuration changes you made.
Getting Started¶
Explore the supported platforms to figure out whether you could build your desired lab with netlab
Read the installation guide
Choose the virtualization method you’d like to use to build your lab
Follow the instructions in the installation guide to build your lab environment
More information¶
After installing netlab you might want to follow the tutorials
Read the blog posts_ describing netlab features and use cases
Explore BGP configuration labs built with netlab
Need even more examples? You’ll find them in netlab examples repository
Sample topology files we’re using for integration testing might also be interesting
Want to see the source code? It’s on GitHub
Want to ask a question or report a bug? Open a discussion or an issue in the netlab GitHub repository.