The development of GNS3 virtual network simulator in 2007 was a game changer for network engineers from all corners of the world. GNS3 was the 4th hottest skill trending in 2018 on Udemy, the global online learning marketplace with 80,000 online courses, 24+ million learners, and thousands of businesses.

Back in the day, when I was studying for my Cisco Certified Internetwork Expert (CCIE certification) lab exam, the only way to practice and complete labs was by using physical equipment. In those days, you had to spend lots of money either buying or renting equipment to practice. I remember having equipment at my house making lots of noise and generating lots of heat. Who needed heating? Just get a bunch of Cisco routers and switches to heat the house! Fortunately, I passed my CCIE exam, so it was worth it.

But, what a nightmare it was trying to get hold of equipment to practice for exams in those days. Other network engineers have even spent the equivalent of $1 million building huge labs in their basements for practice and testing. Have you got that kind of money just for labs?

A Frenchman and a vacation

Fortunately, in 2006, a Frenchman Jeremy Grossman was taking a trip to Mayotte island near Madagascar and Southern Africa. He was facing the same issue all of us faced in those days. How would he practice on Cisco labs without physical Cisco equipment? He wanted to practice Cisco Certified Network Professional (CCNP) labs from home, but wasn’t able to. He also needed a cool project for his university degree.

While on a boat at sea, Jeremy Grossmann (the creator of GNS3), came up with an amazing idea. Why not run Cisco networking equipment virtually on your laptop so you can practice anywhere? And why not make it easy to create networks by simply dragging devices into a network topology and linking them with various types of interfaces?

Seems obvious today. What with all the talk about Network Function Virtualization (NFV) and Software Defined Networks (SDN) and other buzzwords used by the networking industry today. But, in those days, this was an amazing breakthrough for engineers around the world.

Thankfully, Jeremy wrote and released his creation—GNS3—to the world in June 2007. You can still access the alpha code on SourceForge here.

The networking industry changed in 2007. Since then, practicing for certifications like the Cisco Certified Network Associate Routing & Switching (CCNA), Cisco Certified Network Professional (CCNP), and even Cisco Certified Internetwork Expert (CCIE) exams and labs have never been the same. Since Jeremy’s trip in 2006, GNS3 has grown exponentially and has been downloaded over 17 million times. It is used by most companies in the Fortune 500 and by millions of users around the world.

What are the benefits of GNS3?

Open Source

Jeremy, however, took things even further. Because he had benefited so much from open source software at university, he decided make GNS3 open source and free to use.

You do not have to pay to use GNS3 in either a personal or commercial environment. This is unlike other tools on the market today that are either vendor proprietary or paid for software. Because GNS3 is an open source software, you can check all the source code on GitHub. You can even contribute to the development of GNS3.


Today, you can practice labs of many types and GNS3 supports many networking vendors: Cisco, Juniper, Arista, Aruba, Cumulus, and others.

GNS3 also allows you to add virtual machines of almost any description to your GNS3 topologies. Want a AAA TACAS or RADIUS server? Just add it to GNS3 by leveraging the prebuilt appliances in the GNS3 marketplace. Want to try network penetration testing? Just add a Kali Linux appliance to your topologies. Want to study for your CCNA or CCNP or even CCIE exams? Just build a topology with Cisco devices and go for it.

Docker support became available in version 2.0. This opened up a new world of easy-to-use devices such as the Network Automation container which you can leverage for network automation using Python and Ansible scripts. The Engineer’s Toolkit appliance gives you an easy to use FTP / TFTP / Syslog / SNMP server which you can use in your labs. Just drag it into your topologies and a Docker pull is used to download all the required software. Quick and easy.

What about switching?

One misconception that still lingers from the past is that GNS3 does not support switching. This is not true today. You can use Cisco VIRL images within GNS3 and create complex switched networks that include RPVST+, Etherchannel, HSRP, and many other technologies. In the early days of GNS3, only routers were supported using Dynamips, but that is no longer true. Many devices and many vendors are supported today. You can have Cisco switches, Arista switches, Cumulus switches, and others all working together in a single topology.


GNS3 does not limit the number of devices you can run in a topology. You are only limited by the hardware resources you have available. Other solutions like Cisco VIRL limit the number of devices in a topology to 20 Cisco devices (depends on license). GNS3 does not do that and you can run hundreds of devices in a GNS3 topology (assuming you have the hardware to do it).

GNS3 can run on your local computer, on a server running VMware ESXi or even in the cloud. You can host topologies on cloud providers such as or Google. The only recommendation is that your cloud provider supports nested virtualization.

Real world

GNS3 is not only used for studying, but also for testing networks before they are put into production. Companies around the world test things on GNS3 first before deployment. The options and variations for lab topologies with GNS3 are almost endless.


GNS3 has a very large and active community (1.3 million) who help one another with tips and tricks as well provide support for GNS3 lab issues. Community members also contribute labs which you can leverage for studying.


However, because GNS3 is so versatile and powerful, it does come with the disadvantage of being complex to set up. You need multiple components to run modern versions of the software—you need the GNS3 Graphical User Interface and you need the GNS3 Virtual Machine (VM) when using Windows or Mac OS. You need Cisco IOS images or other vendor images for your labs.

Why use GNS3 over alternatives?

GNS3 vs. Packet Tracer

GNS3 is not a simulator like Packet Tracer. Packet Tracer is good when you study for the Cisco Certified Network Associate Routing & Switching (CCNA) exam and want simple and easy-to-use software. In the past, you had to be a student in Cisco’s Network Academy program to get Packet Tracer, but it is now freely available for anyone to download which is great news.

However, Packet Tracer is very limited. It does not support all Cisco IOS commands and can be buggy at times. It is a Cisco product focused on CCNA exam topics. It does not support multivendor environments like GNS3 does. It does not run real Cisco software or software from other vendors. You cannot integrate virtual machines with Packet Tracer like you can with GNS3. GNS3 supports the use of both real Cisco IOS images (7200 routers) as well as images specially created by Cisco for virtualized environments (Cisco VIRL images). You can easily add Virtual Machines (Windows, Linux or others) to your GNS3 topologies. GNS3 is a multi-vendor platform. You can integrate and test multivendor networks.

Packet Tracer is not able to do any of that.


Cisco has released their official lab environment: The Cisco Virtual Internet Routing Lab (VIRL). This is commercial software, and a personal license costs $199 a year. The images that come with Cisco VIRL include Cisco IOSvL2 (advanced switching), IOSv (routing), ASAv (Cisco ASA firewall), and other software such as Nexus OS. This is great news for us as network engineers as we now have access to official Cisco device images which we can use in either GNS3 or Cisco VIRL topologies. GNS3 supports all Cisco VIRL images directly. These are the recommended images to use in GNS3 environments.

VIRL limits the number of devices in a topology to 20 devices with the personal edition of the software. GNS3 does not do that. VIRL requires that you authenticate against a licensing server on a regular basis (every few days). GNS3 does not require that.

GNS3 does not require an internet connection to verify a license like Cisco VIRL does, and it supports many more device types and devices in a single topology.

Want to learn more? Or are you struggling to get GNS3 working?

Fortunately, Udemy for Business offers courses that show your IT team all the steps needed to download and configure GNS3 and the various components. See how to sign up for a Udemy for Business subscription to get your IT team up to speed on GNS3.

My official GNS3 courses on Udemy were created with Jeremy’s input including GNS3 Fundamentals Official Course Part 1 and GNS3 Fundamentals Official Course Part 2.

Life has got better for network engineers around the world thanks to Jeremy.

Featured course

GNS3 Cisco IOS VIRL Network Administration CCNA Lab Part 3

Last Updated March 2024

Highest Rated
  • 1.5 total hours
  • 10 lectures
  • All Levels
5 (20)

Mastering Cisco CCT CCNA GNS3 Lab Cisco IOS VIRL EVE-NG Images Network Administration CCNA 200-301 RS P3 STP RSTP PVST | By Adrian Fischer

Explore Course

GNS3 students also learn

Empower your team. Lead the industry.

Get a subscription to a library of online courses and digital learning tools for your organization with Udemy Business.

Request a demo

Courses by David Bombal

GNS3 Fundamentals (Official Course) Part 1
David Bombal, Experts with David Bombal
4.3 (914)
Cumulus Linux Fundamentals, plus Ansible automation
David Bombal, Experts with David Bombal
4.7 (631)
Highest Rated
Python Programming for Network Engineers: Cisco, Netmiko ++
David Bombal, Experts with David Bombal
4.8 (1,330)
Python for Network Engineers: Netmiko, NAPALM, pyntc, Telnet
David Bombal, Experts with David Bombal
4.7 (2,357)
Ansible for Network Engineers: Quick Start GNS3 & Ansible
David Bombal, Experts with David Bombal
4.6 (4,042)
GNS3 Fundamentals (Official Course) Part 2
David Bombal, Experts with David Bombal
4.7 (88)
Linux for Network Engineers: Practical Linux with GNS3
David Bombal, Experts with David Bombal
4.8 (4,545)
Python Network Programming for Network Engineers (Python 3)
David Bombal, Experts with David Bombal
4.3 (8,593)

Courses by David Bombal