GNS3 is an open source Network Simulator that is used to emulate, configure, test and troubleshoot virtual and real networks. GNS3 can run on Windows, Linux and MacOS. It can also run on a virtualized environment such as VMware, Docker and Virtualbox.
Below are some of the features of GNS3:
- 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 CentOS 8 | RHEL 8
This guide will highlight what is needed to get your GNS3 up and running on a CentOS 8 / RHEL 8 server.
Step 1 – Update system
Update your CentOS system
sudo dnf update
Step 2 – Enable necessary Repositories
Enable the following repositories on your system:
Enable CodeReady for RHEL only
sudo subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms
Enable PowerTools for CentOS only
sudo yum install dnf-plugins-core sudo yum config-manager --set-enabled powertools
Step 3 – Install RPM packages
Install the following packages on your CentOS/RHEL system:
sudo yum install python3-devel elfutils-libelf-devel libpcap-devel python3-pyqt5-sip python3-qt5 xterm cmake sudo yum groupinstall 'Development Tools'
Step 4 Clone GNS3 packages from Git
/usr/local/src then clone the packages:
mkdir ~/gns3 cd ~/gns3 git clone https://github.com/GNS3/gns3-server.git git clone https://github.com/GNS3/gns3-gui.git git clone https://github.com/GNS3/vpcs.git git clone https://github.com/GNS3/dynamips.git git clone https://github.com/GNS3/ubridge.git
Step 5 – Install Packages
Navigate to the GNS3-server directory that has been cloned and install GNS3 server
cd ~/gns3/gns3-server/ sudo pip3 install -r requirements.txt sudo python3 setup.py install
Install GNS3 GUI by running the following commands:
cd ~/gns3/gns3-gui/ pip3 install -r requirements.txt python3 setup.py install cp resources/linux/applications/gns3.desktop /usr/share/applications/ cp -R resources/linux/icons/hicolor/ /usr/share/icons/
cd ~/gns3/vpcs/src ./mk.sh sudo cp vpcs /usr/local/bin/vpcs
cd ~/gns3/dynamips/ mkdir build cd build/ cmake .. make sudo make install
cd ~/gns3/ubridge make sudo make install
Add Support for Docker (Optional)
GNS3 allows you to build networking labs on Docker containers. You however need to install Docker engine to be able to use this feature.
Follow the guide below to install Docker on your CentOS 8 system:
Install Docker CE & Docker Compose on CentOS 8 | RHEL 8
Add your user to docker group:
sudo usermod -a -G docker $(whoami)
Step 6 – Launch GNS3 on CentOS 8 / RHEL 8
Once the installation is done, you can launch GNS3 from the application menu and proceed with configuration.
Configure the Setup Wizard by choosing ‘Run appliances on my local computer‘ option on the first page.
Leave the second page as it is if you are running GNS3 locally:
You will then have successfully configured GNS3 to run on your local server and you will receive a success notification:
You can now start setting up templates and building your labs.
That’s it. Good luck in your learning and certification preparation.