Build Virtual Labs with netlab
The netlab tool will help you be more proficient once you decide to drop GUI-based network simulators and build your labs using CLI and infrastructure-as-code principles.
You can also use netlab (potentially together with GitHub Codespaces) to build online, easy-to-consume, hands-on training solutions. I used that approach to build the BGP labs.
Getting Started
- Overview
- Build Your Virtual Lab Faster with netlab
- Python Package and Unified CLI
- Network Topology Graphs
- Start a Virtual Lab with a Single Command
- Custom Groups and Deployment Templates
- Build Vagrant Boxes for Your Network Devices
- Everything Is Better with a GUI (even netlab)
- Presentation: Introduction to netlab
- Comparing GNS3, containerlab, and netlab
- netlab Data Transformation Testing
- CCIE Preparation with netlab
Getting Started Videos
- Could I Use netlab instead of GNS3?
- What Can Netlab Do?
- Getting Started with netlab
- netlab Topology File
- netlab IP Address Management (IPAM)
Podcasts
Running netlab in GitHub Codespaces
- Running BGP Labs in GitHub Codespaces
- Netlab Examples in GitHub Codespaces
- Running Arista cEOS in GitHub Codespaces
Usage Guidelines
- Configure Hardware Labs with netlab
- Mix Containers and VMs in the Same Lab Topology
- Start Large netlab Topologies in Smaller Batches
- Start Multiple Lab Instances on the Same Server
- Change Stub Networks into Loopbacks
- Link Groups
- Using netlab Reports
- Custom netlab Reports
- How Does Netlab Deal with Server Reboots?
Using VRFs and VLANs
- Creating VRF Lite Labs With netlab
- Creating MPLS/VPN Labs With netlab
- Simple VLAN Example
- VLAN Trunk Example
- Combining VLANs with VRFs
- VRF Lite Topology with VLAN Trunks
- Router-on-a-Stick Example
- IRB with Anycast Gateways
- Building a Layer-2 Fabric
- Using VLAN and VRF Links
- Global and Node VRFs
- VRF Instantiation on Lab Devices
- Hub-and-Spoke VPN on a Single PE-Router
- Specifying VLAN Interface Parameters
Using VXLAN and EVPN
- Simple VXLAN Bridging
- Simple EVPN/VXLAN Bridging
- VXLAN Router-on-a-Stick Example
- VRF Lite over VXLAN Transport
- Building Layer-3-Only EVPN Lab
- Common Services VRF with EVPN Control Plane
- EVPN Hub-and-Spoke Layer-3 VPN
Use Cases and Tutorials
- Building Unnumbered Ethernet Lab with netlab
- Creating BGP Multipath Lab
- Anycast Works Just Fine with MPLS/LDP
- Optimal BGP Path Selection with BGP Additional Paths
- Building a BGP Anycast Lab
- Sample Lab: RSVP TE on Junos
- Sample Lab: SR-MPLS on Junos and SR Linux
- Using netlab with containerlab: Welcome to the World of Tomorrow
- Largest netlab Topology I've Seen So Far
- Suspending Devices in netlab Labs
- DHCP Relaying Lab
- VRF-Aware DHCP Relaying Lab
- DHCP Relaying in VXLAN Segments
- DHCP Relaying in EVPN VRFs
- Default EBGP Policy (RFC 8212)
- Exercise: Fix BGP Route Leaks
- Use FRR Containers to Learn Routing Protocol Fundamentals
- OSPF ECMP with Unnumbered IPv4 Interfaces
- Will Network Devices Reject BGP Sessions from Unknown Sources?
- Is BGP TTL Security Any Good?
- Review: Unnumbered Interfaces in netlab
- VXLAN Virtual Labs Have Never Been Easier
- Cyber Crane Mesh Topology Built with netlab
- Running netlab and BGP Labs on Apple Silicon
- Building Leaf-and-Spine Fabrics with the Fabric Plugin
- Using wemulate with netlab
- Master New Platforms and Technologies with netlab
- Testing bgpipe with netlab
- SR Linux Containers Run on Apple Silicon
Hands-On BGP Training Labs Built with netlab
- The Basics
- Simple Routing Policy Tools
- Choose External Routers from Five Different Vendors
- Work with FRR and Cumulus Linux
- Automated Lab Validation
- BGP Labs: a Year Later
For more information, explore the Open-Source BGP Configuration Labs project.
Exploring EVPN Fabric Designs
- VXLAN Leaf-and-Spine Fabric
- IBGP Full Mesh Between Leaf Switches
- Scaling IBGP with Route Reflectors
- EBGP Everywhere
- EVPN EBGP over IPv4 EBGP
Customizing and Extending netlab
- Introducing netlab Plugins
- Multi-Platform Custom Configuration Templates
- Using Custom Vagrant Boxes with netlab
Contributing
- Contribute to netlab: OSPFv3
- Help Appreciated: netsim-tools Device Features
- Is Anyone Using netlab on Windows?
Release Notes
- Spanning Tree, Link Aggregation, Cisco IOS-on-Linux, Edgeshark
- Packet Capture, Routing Improvements (Release 1.9.1)
- Routing Policies, Default Routes, Route Redistribution (Release 1.9.0)
- vrnetlab Containers, Catalyst 8000v (Release 1.8.4)
- RIPv2, BGP Route Servers, BGP Link Bandwidth (Release 1.8.3)
- Bug Fixes, Usability Improvements (Release 1.8.2)
- VRF OSPFv3, Integration Tests (Release 1.8.1)
- Control-Plane Daemons, BIRD, dnsmasq (Release 1.8.0)
- Eye Candy (Release 1.7.1)
- Lab Validation, Fabrics, BGP Nerd Knobs (Release 1.7.0)
- Support for Multi-Lab Projects; More BGP Goodies (Release 1.6.4)
- BGP Nerd Knobs (Release 1.6.3)
- Improved Reports (Release 1.6.2)
- BGP- and Markdown Reports (Release 1.6.1)
- New Commands, Reports, and External Connectivity (Release 1.6.0)
- New Junos Platforms (Release 1.5.4)
- libvirt Public Networks, containerlab 0.41.0 (Release 1.5.3)
- Aruba CX, External Tools, Tunnel Interfaces (Release 1.5.2)
- VLAN and VRF Links (Release 1.5.1)
- Larger Lab Topologies (Release 1.5.0)
- Cisco IOS XRv, MPLS on FRR (Release 1.4.3)
- Juniper vMX and Junos/CSR1000v Features (Release 1.4.2)
- vagrant-libvirt Dependency Hell
- Cisco ASAv (Release 1.4.1)
- EVPN Asymmetric IRB, Anycast Gateways, VRRP (Release 1.4.0)
- Mikrotik RouterOS 7, Additional EVPN Platforms (Release 1.3.2)
- BGP local-as, FRR and Cumulus Data Plane Enhancements (Release 1.3.1)
- VXLAN and EVPN (Release 1.3)
Archive of Older Release Notes
- netsim-tools Renamed to netlab
- VLAN Module Is Complete (Release 1.2.4)
- VLANs, Hardware Labs, VRF Loopbacks (Release 1.2.2)
- More MPLS and VRFs, Dell OS10, Cumulus 5.0 on Containerlab (Release 1.2.1)
- MPLS Support (Release 1.2.0)
- netsim-tools Release 1.1.4
- netsim-tools Release 1.1.3
- New netlab Installation Instructions
- netsim-tools Release 1.1.2
- Just Out: netsim-tools Release 1.1
- netsim-tools: New in December 2021
- Mikrotik RouterOS and VyOS Support
- netsim-tools Release 1.0
- Cumulus VX and Nokia SR Linux Containers
- Cumulus VX, EIGRP, and BGP IPv6 AF
- netsim-tools release 0.6.2
- BGP, IS-IS, SR-MPLS, FRR
- Netsim-tools Release 0.5 Work with Containerlab
- Unnumbered Interfaces, Configuration Modules, OSPF
- VirtualBox Support
- Dual Stack Addressing, Junos vSRX Support