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.7.0, which includes a significant overhaul of lab topology data validation (more details in the release notes)
If you encounter bugs using release 1.7.0, please downgrade to 1.6.4 and open a GitHub issue.
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 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
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.7.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 81abfaf1feccdc9abc28c60cea4065aa43008824dae50af732dbb56f2d075a49 |
|
MD5 | ca77145c9ad95a2904fe3582d3107100 |
|
BLAKE2b-256 | 3dfbc629064840618feccf21aeeaa26eebab6db4666d3daffb5939c2a426ff4a |