CLI-based Virtual Networking Lab Abstraction Layer
Project description
Overview
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
- Create Vagrantfile configuration file for virtualbox or libvirt environment
- Create containerlab configuration file
- Create Ansible inventory and configuration file
- Create IPv4 and IPv6 addressing plan and OSPFv2, OSPFv3, EIGRP, IS-IS, and BGP routing design
- Configure IPv4, IPv6, VLANs, VRFs, VXLAN, LLDP, BFD, OSPFv2, OSPFv3, EIGRP, IS-IS, BGP, VRRP, anycast gateways, MPLS, BGP-LU, L3VPN (VPNv4 + VPNv6), 6PE, EVPN, SR-MPLS, or SRv6 on your lab devices.
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.
Releases
The latest release is release 1.6.1. It contains numerous new features that might have a few bugs attached to them. Should you encounter one of those creatures, please open a Github issue and use release 1.5.4. You might also want to read the release notes.
An Overview of CLI Commands
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 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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for networklab-1.6.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3aa389941c42312a2b447f6df03b59773872a25ba12e5c3ca9c3c18e019a07ac |
|
MD5 | 290cebffa776cb626058a0fa3f233037 |
|
BLAKE2b-256 | 4d8ae789c40d7c38ba229bd8e16ac1e2a6cc9647e67a3f5c8249e67c4dd46bb7 |