GNS3 is used by hundreds of thousands of network engineers worldwide to emulate, configure, test and troubleshoot virtual and real networks. GNS3 allows you to run a small topology consisting of only a few devices on your laptop, to those that have many devices hosted on multiple servers or even hosted in the cloud.
GNS3 is open source, free software that you can download from http://gns3.com
It is actively developed and supported and has a growing community of over 800,000 members. By joining the GNS3 community you will be joining fellow students, network engineers, architects and others that have downloaded GNS3 over 10 million times to date. GNS3 is used in companies all over the world including Fortune 500 companies.
GNS3 can help you prepare for certification exams such as the Cisco CCNA, but also help you test and verify real world deployments. Jeremy Grossman, the original developer of GNS3 originally created the software to help him study for his CCNP certifications. Because of that original work, you can today use to help you do the same without paying for expensive hardware.
Network Function Virtualization (NFV) is a hot topic of discussion today in networking circles, but GNS3 has been virtualizing network devices for over 10 years. Originally only emulating Cisco devices using software called Dynamips, GNS3 has now evolved and supports many devices from multiple network devices including Cisco virtual switches, Cisco ASAs, Brocade vRouters, Cumulus Linux switches, Docker instances, HPE VSRs, multiple Linux appliances and many others. Go here to see a list of appliances available: https://gns3.com/marketplace/appliances
TIP GNS3 has been around for over 10 years. Some information you will find on the Internet is outdated or unfortunately entirely incorrect. This document will hopefully help answer questions and help you get started on your journey with GNS3.
TIPGNS3 does not only support Cisco devices. Cisco is often discussed because that is what most network engineers are interested in learning about. However, many other commercial and open source vendors are supported today in GNS3. You are now able to test interoperability between many vendors and even try out esoteric setups using network technologies with SDN, NFV, Linux and Docker.
RecommendationIf you are using an older version of GNS3, it is recommended that you upgrade to the current stable release of GNS3 (v 1.5). Once you are more experienced using GNS3 you can start using version 2 which is currently in alpha.
GNS3 consists of two software components:
- The GNS3-all-in-one software (GUI)
- The GNS3 virtual machine (VM)
This is the client part of GNS3 and is graphical user interface (GUI). You install the all-in-one software on your local PC (Windows, MAC, Linux) and and create your topologies using this software. This is what you usually see show in screenshots such as the following:
When you create topologies in GNS3 using the all-in-one software GUI client, the devices created need to be hosted and run by a server process. You have a few options for the server part of the software:
- Local GNS3 server
- Local GNS3 VM
- Remote GNS3 VM
The local GNS3 server runs locally on the same PC where you installed the GNS3 all-in-one software. If for example you are using a Windows PC, both the GNS3 GUI and the local GNS3 server are running as processes in Windows. Additional processes such as Dynamips will also be running on your PC:
If you decide to use the GNS3 VM (recommended), you can either run the GNS3 VM locally on your PC using virtualization software such as VMware Workstation or Virtualbox; or you can run the GNS3 VM remotely on a server using VMware ESXi or even in the cloud.
TIPYou are able to use GNS3 without using the GNS3 VM. This is a good way to get started initially, but this setup is limited and does not provide as many choices with regards to topology size and devices supported. If you want to create more advanced GNS3 topologies, or want to include devices such as the Cisco VIRL devices (IOSvL2, IOSvL3, ASAv) or other other devices that require Qemu, the GNS3 VM is recommended (and is often required).
TIP Start a basic GNS3 topology using only the GNS3-all-in-one software and once you have got that working, refer to additional documentation for the setup of a local GNS3 VM.Emulation versus Simulation:
GNS3 supports both emulated and simulated devices.
EmulationGNS3 mimics or emulates the hardware of a device and you run actual images on the virtual device. For example, you could copy the Cisco IOS from a real, physical Cisco router and run that on a virtual, emulated Cisco router in GNS3.
Simulation: GNS3 simulates the features and functionality of a device such as a switch. You are not running actual operating systems such as the Cisco IOS, but rather a simulated device developed by GNS3 such as the GNS3 layer 2 switch.
TIP The lines between simulation and emulation blur a bit these days. You are now able to run Cisco VIRL images which are images of real Cisco operating system images which run on standardized virtual hardware. GNS3 emulates the hardware that VIRL images require to run.