GNS3 vs Cisco CML: Which Lab Platform Is Right for You?
GNS3 and Cisco Modeling Labs (CML) both run real network operating system images, which puts them a tier above simulators like Packet Tracer. Choosing between them comes down to how much setup you want to do and whether you're focused on Cisco certifications or a broader multi-vendor lab.
GNS3: free, flexible, more setup
GNS3 is a free, open-source emulation platform. It can run Cisco images alongside other vendors, connect to real networks, and scale to large topologies. The flexibility is its strength — and its cost. You supply and manage the images yourself, and getting everything installed and stable (often with a separate GNS3 VM) takes real effort. For engineers who want a multi-vendor lab and don't mind maintenance, GNS3 is excellent.
CML: official, turnkey, Cisco-focused
Cisco Modeling Labs is Cisco's own product. It ships with reference Cisco images, a polished web UI, and a supported import/export format, so you spend your time configuring devices instead of maintaining the platform. It's paid (see Cisco's current pricing and free-tier details), and it's Cisco-centric. For CCNA and CCNP study specifically, that focus and low setup overhead are a real advantage.
The short answer
Pick GNS3 if you want a free, multi-vendor lab and are comfortable with setup and upkeep. Pick CML if you want an official, low-maintenance Cisco environment for certification study. If you go the CML route, Goldfish Networks gives you a fresh, graded lab to import every day — no topology building required.
Under the hood: why both need a hypervisor, and what your PC actually needs
Neither GNS3 nor CML runs IOS like a normal desktop application — every router or switch you drop on the canvas is a small virtual machine booting a real network operating system image. That means your host needs hardware CPU virtualization (Intel VT-x or AMD-V) enabled in the BIOS/UEFI, and the RAM and cores you can spare set a hard ceiling on how many nodes you can boot at once. A modest four-router lab can want 4 to 8 GB of RAM before your host operating system even counts.
CML formalizes this by shipping the entire platform as a single virtual appliance: you import one OVA (or install from ISO) into a hypervisor, and that appliance hosts every node inside itself. That is exactly why VMware Workstation/Fusion or ESXi is the supported host — the 'turnkey' feel comes from Cisco having pre-built and tuned that VM for you. GNS3 instead splits the work between a local GUI and a separate GNS3 VM that runs the emulated devices, and standing up that second VM is the extra setup step people mean when they call GNS3 fiddly.
The practical takeaway is to give whichever platform you choose generous RAM, and to enable nested virtualization if you're running it inside another VM or on a cloud instance. Apple Silicon and other ARM hosts remain a moving target for x86 network images, so if you're on an M-series Mac, check the current CML and GNS3 notes before assuming a specific image will boot rather than trusting an older forum post.
What a lab session actually looks like: a two-router OSPF example you can verify
Whichever platform you pick, a working session follows the same rhythm: build the topology, configure the devices, then verify that it actually did what you intended. Here is a minimal two-router lab you can recreate in either GNS3 or CML. R1 and R2 share a point-to-point link on 10.0.12.0/30 — a /30 gives exactly two usable host addresses (2^2 − 2), one for each router — and each router carries a loopback that stands in for a learned network. Configure R2 as the mirror image of R1 (Gi0/0 as 10.0.12.2/30, Loopback0 as 2.2.2.2/32, same OSPF process).
With both sides up, the verification step is where the learning happens. Notice that R2's loopback shows up in R1's table as a /32 host route: that is OSPF's default behavior for a loopback interface, not a bug — OSPF treats loopbacks as stub host routes unless you change the interface's OSPF network type to point-to-point. Confirming reachability with a ping to 2.2.2.2 sourced from Loopback0 is the difference between 'I typed the commands' and 'the control plane converged.'
This same pass/verify loop is what you would use for any protocol — if you had chosen a static route instead of OSPF, ip route 2.2.2.2 255.255.255.255 10.0.12.2 would install a next-hop route that the router resolves with a recursive lookup, and you'd verify it the same way. Building the muscle memory to check your own work is the whole point of hands-on labs, and it's exactly what a graded environment automates so you find out whether you passed instead of guessing.
! --- R1: build the link, a loopback, and OSPF (R2 is the mirror image) ---
R1(config)# interface GigabitEthernet0/0
R1(config-if)# ip address 10.0.12.1 255.255.255.252
R1(config-if)# no shutdown
R1(config-if)# interface Loopback0
R1(config-if)# ip address 1.1.1.1 255.255.255.255
R1(config-if)# router ospf 1
R1(config-router)# network 10.0.12.0 0.0.0.3 area 0
R1(config-router)# network 1.1.1.1 0.0.0.0 area 0
R1(config-router)# end
! --- Verify the adjacency and the learned route ---
R1# show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
2.2.2.2 1 FULL/BDR 00:00:36 10.0.12.2 GigabitEthernet0/0
R1# show ip route ospf
2.0.0.0/32 is subnetted, 1 subnets
O 2.2.2.2/32 [110/2] via 10.0.12.2, 00:01:05, GigabitEthernet0/0
! The loopback arrives as a /32 host route -- that is OSPF's default, not an error.Frequently asked questions
Can I run Cisco CML on VirtualBox?
No. CML ships as a virtual appliance — an OVA or ISO you run on a supported hypervisor — and VirtualBox is not on the supported host list. VMware Workstation and Fusion, which are now free for personal use, are the supported type-2 hosts, with ESXi for larger deployments; confirm the exact supported versions in Cisco's current documentation.
Can I run GNS3 and CML on the same PC at the same time?
You can install both, but running them at once is resource-heavy because each one boots virtual routers that need CPU virtualization (Intel VT-x or AMD-V) and a lot of RAM. Nesting the GNS3 VM and the CML appliance on a single laptop usually starves both, so most people run one platform at a time. Give whichever you use as much memory and as many cores as you can spare.
Will a CML topology file open in GNS3?
Not directly. CML exports its topology as a Cisco-native YAML file while GNS3 uses its own .gns3 project format, so there is no clean one-click conversion between them. If you need the same lab in both platforms, you generally rebuild the topology by hand in whichever one you're moving to.
Is Packet Tracer enough for CCNA, or do I need GNS3 or CML?
Packet Tracer is a simulator — it models device behavior rather than running real IOS — but it covers most CCNA topics well and can even auto-grade you inside pre-authored .pka activities. For CCNP-level features, exact real-image output, or multi-vendor labs you'll want the actual images that GNS3 and CML run. Many learners start in Packet Tracer and move up as the topics get deeper.
Why does my lab router lose its configuration after I stop the node?
The running configuration lives in RAM, so stopping or wiping a node discards anything you didn't save to NVRAM. Run copy running-config startup-config (or write memory) before you shut the node down, and remember that some CML wipe or reset actions intentionally clear the node back to its base image. Snapshots or the platform's built-in save are the reliable way to preserve work between sessions.
Practice on real Cisco IOS
A fresh, graded Cisco Modeling Labs scenario every day — start with the free sample.