In this article, I’ll cover the installation of the latest GNS3 on Fedora 29 /Fedora 28. GNS3 is an open source Network Emulator/Simulator used by hundreds of thousands of network engineers worldwide to emulate, configure, test and troubleshoot virtual and real networks.
GNS3 has helped in virtualizing real hardware devices and preparation for certification exams such as the Cisco CCNA, CCNP, CCIE, Juniper certifications e.t.c.
How GNS3 Project started
GNS3 started with the emulation of Cisco devices using software called Dynamips. But it has now evolved to support 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.
Features of GNS3
Below are the top features of GNS3 Network Emulation software
- Fully free and Open Source – No monthly or yearly license fees
- There is no limit on the number of devices supported – CPU and RAM hardware is your only limitation
- GNS3 supports all VIRL images (IOSv, IOSvL2, IOS-XRv, CSR1000v, NX-OSv, ASAv)
- GNS3 can run with or without hypervisors in multi-vendor environments
- It has support for multiple switching options (ESW16 Etherswitch, IOU/IOL Layer 2 images, VIRL IOSvL2)
- GNS3 supports both free and paid hypervisors – Virtualbox, VMware Workstation, VMware Player, ESXi, Fusion
- GNS3 has native support for Linux without the need for need for additional virtualization software
Install GNS3 on Fedora 29 / Fedora 28
GNS3 consists of two software components:
- The GNS3-all-in-one software (GUI)
- The GNS3 virtual machine (VM)
You have two options to install GNS3 on Fedora 29 / Fedora 28. You can install from Fedora repositories or from source via
pip3 Python package manager. This guide will cover the installation of GNS3 on Fedora 29 / Fedora 28 from dnf repositories.
For Ubuntu 18.04 / Ubuntu 16.04: How to Install GNS3 on Ubuntu 18.04 / Ubuntu 16.04
For Arch Linux, use: How to Install Latest GNS3 on Arch Linux and Manjaro
Step 1: Install Dependency packages and Wireshark
Install dependency packages required for building your GNS3 environment:
sudo dnf -y install git gcc cmake flex bison sudo dnf -y install elfutils-libelf-devel libuuid-devel libpcap-devel sudo dnf -y install python3-tornado python3-netifaces python3-devel python-pip python3-setuptools python3-PyQt4 python3-zmq
GNS3 uses Wireshark for packets capturing and analysis. Ensure Wireshark is installed on your Fedora 29 / Fedora 28 by running:
sudo dnf -y install wireshark
Step 2: Install GNS3 GUI and Server
Start the installation by ensuring GNS3 backend server and the frontend interface packages are installed:
sudo dnf -y install gns3-server gns3-gui
Step 3: Install Dynamips and vpcs
vpcs is a Virtual PC Simulator which allows you to simulate a PC supporting DHCP and ping when simulating Networks with GNS3.
Install it with
dynamips emulator by running:
git clone https://github.com/GNS3/dynamips cd dynamips mkdir build cd build cmake .. sudo make install
Confirm binary location:
$ which dynamips /usr/local/bin/dynamips
wget http://sourceforge.net/projects/vpcs/files/0.8/vpcs_0.8b_Linux64/download mv download vpcs chmod +x vpcs sudo cp vpcs /usr/local/bin/
$ vpcs -v Welcome to Virtual PC Simulator, version 0.8b Dedicated to Daling. Build time: Nov 1 2015 01:05:47 Copyright (c) 2007-2015, Paul Meng ([email protected]) All rights reserved. VPCS is free software, distributed under the terms of the "BSD" licence. Source code and license can be found at vpcs.sf.net. For more information, please visit wiki.freecode.com.cn.
Step 4: Add support for KVM / QEMU (Optional)
To use KVM virtual machines inside your GNS3 Labs, you need to have KVM installed and configured in your Fedora 29 / Fedora 28 host system. Use our previous guide below for this:
Step 5: Setup IOU support
If you would like to allow GNS3 support for IOS on Unix (IOU), set it like below:
git clone http://github.com/ndevilla/iniparser.git cd iniparser make sudo cp libiniparser.* /usr/lib/ sudo cp src/iniparser.h /usr/local/include sudo cp src/dictionary.h /usr/local/include cd .. git clone https://github.com/GNS3/iouyap.git cd iouyap make sudo make install
iouyap help page, run:
$ iouyap -h Usage: iouyap [OPTION]... ID iouyap [OPTION]... DEV_OPT ID:BAY/UNIT Options: -h print this message and exit -q suppress most output -v|v|v increase output -d run in background -c do not read configuration file -f FILE specify configuration file -n FILE specify NETMAP file -V print version and exit Device options: -e ETH_DEV connect to Ethernet device -t TAP_DEV connect to TAP device -u LPORT:ADDR:RPORT create UDP tunnel -s LFILE:RFILE connect via Unix domain socket
Step 6: Add Support for Docker (Optional)
By default, GNS3 allows you to use Docker containers while building network labs. But first, you need docker engine installed and running so that you can create Docker Containers. Use our official guide to Install Docker on your system:
Don’t forget to add your user to docker group after starting the service.
sudo usermod -a -G docker $(whoami)
Step 7: Launch GNS3 on Fedora 29 / Fedora 28
On your Desktop Environment Launcher, search for GNS3 to start initial configuration. On the first page, select “Run the topologies on my computer”
On the second page, confirm local server configuration location.
The third page should display a successful installation message
If you want to add your Virtual machines, Docker containers, vpcs or Network devices images, do it in the next step. This can also be done later after the installation.
Once configured, you should have a ready GNS3 installed on your Ubuntu 18.04 or Ubuntu 16.04 server.
That’s all. Enjoy using GNS3. If you’re preparing for exams with this tool, I wish you happy learning and success in your certification exams.