Getting Started with GNS3
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.
GNS3 has allowed network engineers to virtualize real hardware 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 vendors 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.
TIP: GNS3 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.
Recommendation: If 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 release candidate.
GNS3 consists of two software components:
GNS3-all-in-one:
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:
Server options:
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:
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 wi.
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.
REMEMBER: Don’t worry too much about the difference between simulation and emulation except for the following points:
Questions often arise about which software is the best. A lot of this is down to personal preference with all solutions providing some benefits and having some disadvantages.
Bad old days: The world today is much better than the past! In the old days, network engineers studying for their CCNAs, CCNPs or CCIEs only had limited choices: Buy or rent physical Cisco equipment for your studies.
TodayYou have multiple choices when studying and testing networks:
As mentioned, GNS3 is open source software which you can download and use for free. The source code is available on GitHub if you are interested in taking a peek at the code. We hope you find it useful and beneficial, but if you don’t like something, or want to add something, why don’t you get involved by contributing? Join the community or volunteer to check code or add code recommendations. With over 800,000 community members, we can all learn from each other.
There are however other choices in the marketplace that you can use today. Some of them are free, some cost money. Use whichever works best for you. Use multiple options if you like. We are happy that there is lots of choice today which helps all of us improve and learn more about networking.
Advantages:
Disadvantages:
Cisco Packet Tracer is an official Cisco product for Cisco Academy students that simulates Cisco networks. It does not emulate Cisco hardware or support real images from Cisco or other vendors.
Advantages:
Disadvantages:
Cisco have created another officially supported network simulation platform- Cisco Virtual Internet Routing Lab (VIRL). This is a much more powerful solution when compared to Cisco Packet Tracer and allows not only learning, but simulation of actual networks.
TIPCisco VIRL is a closer product in comparison to GNS3 allowing network engineers to simulate real world networks in addition to learning Cisco technologies.
Advantages:
Disadvantages:
NOTEGNS3 is able to support all VIRL images. You are able to import VIRL images into GNS3 and use them without license or number of device limite
GNS3 supports many devices from multiple vendors and more devices are being added all the time.
The best place to look for the current list of supported devices is the GNS3 marketplace:
https://gns3.com/marketplace/appliances
GNS3 is probably most famous as a platform used for learning and teaching. GNS3 has for years been used by students and network engineers to help practice and prepare for vendor certification exams such as the Cisco CCNA exam.
GNS3 can however be used for other use cases such as proof of concepts and commercial demonstrations. GNS3 provides an easy, cost effective way to new software such as management or SDN software. It allows you to test multi vendor interoperability using a virtual lab environment rather than requiring dedicated physical equipment.
An entire GNS3 topology can be created and run on a single laptop. This allows engineers to demonstrate topologies and software to clients and others on the road.
Classroom environments can also benefit from a preconfigured lab environment that students use to learn networking concepts and technologies.
Some additional reasons to use GNS3:
The latest, current release of GNS3 can be found here:
Development releases of GNS3 can be found here:
https://github.com/GNS3/gns3-gui/releases
RECOMMENDATIONUse the latest, stable release of GNS3. Only use development releases if you are prepared to encounter issues and loss of GNS3 data. Do not use development releases if you have an exam to prepare for or other type of deadline.
GNS3 provides multiple ways for you to get help including:
You can access the GNS3 documentation here:
This is one of the best places to get help. Join many thousands of GNS3 users and experts helping each other make the most of GNS3.
DO: Do report bugs and ask questions on the GNS3 community.
DON’T: Don’t ask for illegal stuff or violate GNS3 user policies. Don’t ask for Cisco IOS images. Don’t share Cisco IOS images. Don’t do anything else that infringes copyright or breaks the law.
Watch videos on David Bombal GNS3 channel:
https://www.youtube.com/playlist?list=PLhfrWIlLOoKPTPPv6ZiNHFM2FKAZ96f-r
Learn about GNS3 by enrolling in GNS3 courses available in the GNS3 Academy:
Get involved in GNS3 development and support and make the product better for everyone.
GNS3 supports the following operating systems:
Additional platforms that can run the GNS3 VM:
The following are the minimum requirements for a Windows GNS3 environment:
ITEM |
REQUIREMENT |
Processor |
2 or more Logical cores |
Virtualization |
Virtualization extensions required. You may need to enable this via your computer's BIOS. |
Memory |
4 GB RAM |
Storage |
1GB available space (Windows Installation is < 200MB). |
Additional Notes |
You may need additional storage for your operating system and device images. |
IMPORTANTThe hardware requirements listed here are minimum requirements for a small GNS3 environment. If you want to create complex environments with many devices, your hardware requirements will increase.
The following are the recommended requirements for a Windows GNS3 environment:
ITEM |
REQUIREMENT |
Processor |
4 or more Logical cores - AMD-V / RVI Series or Intel VT-X / EPT |
Virtualization |
Virtualization extensions required. You may need to enable this via your computer's BIOS. |
Memory |
8 GB RAM |
Storage |
Solid-state Drive (SDD) 35 GB available space |
Additional Notes |
Virtualizing devices is processor and memory intensive. More is better but properly configured device trumps RAM and Processing power. |
IMPORTANTThe hardware requirements listed here are recommended requirements for a small GNS3 environment. If you want to create complex environments with many devices, your hardware requirements will increase.
The following are the optimal requirements for a Windows GNS3 environment:
ITEM |
REQUIREMENT |
Processor |
i7 CPU 4 or more Logical cores - AMD-V / RVI Series or Intel VT-X / EPT |
Virtualization |
Virtualization extensions required. You may need to enable this via your computer's BIOS. |
Memory |
16 GB RAM |
Storage |
Solid-state Drive (SDD) 35 GB available space |
Additional Notes |
Virtualizing devices is processor and memory intensive. More is better but properly configured device trumps RAM and Processing power. |
IMPORTANTIf you want to create complex environments with many devices, your hardware requirements will increase.
GNS3 supports multiple operating systems and appliances and emulators.
The GNS3 VM is recommended for most situations when you are using Windows or Mac OS. The GNS3 development team have worked hard to create a lightweight, robust way of creating GNS3 topologies that avoids multiple common issues experienced when using a local install of GNS3. This includes the lack of proper Qemu support when running VIRL natively on Windows (not recommended).
However, if you only want to create basic GNS3 topologies using Cisco IOS routers, a local (Dynamips) install will suffice. This means that you only install the GNS3 GUI (all-in-one) and don’t use the GNS3 VM.
This is simpler in some ways to set up, but does have limitations and should be seen as the starting point in your GNS3 journey. As soon as you are comfortable with GNS3, it is recommended that you move to a GNS3 VM setup to make the most of GNS3 options and optimization.
RECOMMENDATIONUse the GNS3 VM on Windows and Mac OS.
WARNINGASA 8 IS NOT SUPPORTED
You may find a lot of tutorials on the Internet explaining how to extract ASA 8 images from physical hardware devices and use them with GNS3. This method was the only way to get an ASA image in the past, but the results are random; and getting worse with modern computers and operating systems. For example Windows 10 has multiple issues running ASA 8.
The problem with this way of doing things is that you are using an image made for a bespoke hardware device from Cisco. Qemu can emulate part of the hardware, but some components specific to a physical ASA are missing. For example, the hardware clock on the hardware ASA appliance is missing. The ASA kernel can sometimes replace it depending of the speed of your computer, but results may vary.
You will also encounter issues when running multiple ASAs simultaneously.
GNS3 does not support or recommend the use of Qemu images with a local GNS3 installation on Windows or Mac OS X. You should use Qemu images with the GNS3 VM.
Examples_of_Qemu_images
IOSvL2, IOSv, IOS-XRv, ASAv, any appliance available on the GNS3 website: https://gns3.com/marketplace/appliances
When creating complex topologies on Windows or Mac OS, it is recommended that you use the GNS3 VM. Only use a local GNS3 install when creating simple GNS3 topologies.
To get started, install GNS3 on a Windows PC:
On Mac OS X
On Linux
If you are having issues installing and using GNS3, have a look here: