I’m often getting questions along the lines of “I’m using GNS3. Could I replace it with netlab?”
You need a set of functions to build a network lab:
- Virtualization environment (netlab supports VirtualBox, libvirt, Docker, Podman)
- An orchestration tool/system that will deploy network device images in such an environment (netlab supports Vagrant and containerlab)
- A tool that will build orchestration system configuration (netlab core functionality)
The above list is the absolute minimum you need to get a running lab. You could either build such an environment from individual components (netlab approach) or use an integrated solution often available as a deployable virtual machine (GNS3 and Cisco CML/VIRL approach).
netlab thus cannot replace GNS3 or VIRL, it’s one of the tools in a flexible composable toolchain. It also offers tons of other features that you cannot get in GNS3 or VIRL (more about that in another blog post), and enables you to build intent-based labs1 instead of drawing them in a GUI.
Marketing bullshit for “it uses a text file to define what you want to build.” ↩︎