Making virtual networking labs suck less
netlab is bringing infrastructure-as-code concepts to networking labs. You'll describe your high-level network topology and routing design in a YAML file, and the tools in this repository will
Instead of wasting time creating lab topology in a GUI and configuring boring details, you'll start with a lab preconfigured according to your specifications.
Interested? Read the documentation and installation guidelines.
The latest release is release 1.8.1, and as always, it might have a few bugs. Should you encounter one of those creatures, please report it with a GitHub issue and use release 1.8.0 or 1.7.2.
netlab up : Uses netlab create to create configuration files, starts the virtual lab, and uses netlab initial to deploy device configurations, including IP addressing, LLDP, OSPF, BGP, IS-IS, EIGRP, VRRP, VLANs, VRFs, MPLS, SR-MPLS, VXLAN, EVPN and SRv6. More details
netlab down : Destroys the virtual lab. More details
netlab restart : Restart and/or reconfigure the virtual lab. More details
netlab config : Applies additional Jinja2 configuration templates to network devices.
netlab collect : Using Ansible fact gathering or other device-specific Ansible modules, collects device configurations and saves them in the specified directory (default: config).
netlab connect : Use SSH or docker exec to connect to a lab device using device names, management network IP addresses (ansible_host), SSH port, and username/passwords specified in lab topology or netlab device defaults.
netlab report : Creates a report from the transformed lab topology data. More details
netlab graph : Creates a lab topology graph description in Graphviz or D2 format. More details
netlab show : Display system settings in tabular, text, or YAML format. More details