Install GNS3 on Arch Linux|Manjaro|Garuda|EndeavourOS

Posted on 19 views

Welcome to our guide on how to install GNS3 on Arch Linux|Manjaro|Garuda|EndeavourOS Linux Desktop. GNS3 is a free to use and open source Network Emulator used by thousands of network engineers worldwide to emulate, configure, test and troubleshoot virtual and real networks. 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. If you’re exploring a way to practice for any networking certification, then GNS3 is your best bet.

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

With the introduction and features of GNS3 done. Let’s dive now into the installation and configuration of GNS3 on Arch Linux|Manjaro|Garuda|EndeavourOS Desktop.

Install GNS3 on Arch Linux|Manjaro|Garuda|EndeavourOS

We can perform installation ofGNS3 on Arch Linux|Manjaro in two methods.

Method 1:Install GNS3 on Arch Linux|Manjaro|Garuda|EndeavourOS from AUR

GNS3 GUI and Server packages are contained in AUR repositories of Arch based systems. We need to enable AUR before installing GNS3.

Ensure GPG keys are update:

sudo pacman-key --init
sudo pacman-key --populate archlinux
 sudo  pacman -Sy archlinux-keyring

Update and upgrade your system:

sudo pacman -Syyu --noconfirm

Consider a reboot after successful OS upgrade:

sudo reboot

Install yay AUR helper:

sudo pacman -S --needed vim nano git base-devel --noconfirm
git clone https://aur.archlinux.org/yay-bin.git
cd yay-bin
makepkg -si

Install GNS server and GUI applications using yay AUR helper:

yay -S gns3-gui gns3-server --noconfirm

Also install dynamips, ubridge, vpcs

yay -S  dynamips ubridge --noconfirm

Finally install wireshark which is can be used with GNS3 to “sniff” packets from the links between devices of a virtual topology:

sudo pacman -S wireshark
ln -s /usr/bin/wireshark ~/GNS3/wireshark/

Method 2: BuildGNS3 on Arch Linux|Manjaro|Garuda|EndeavourOS from Sources

The alternative method is building GNS3 server and GUI from Python sources.

  1. Install pip,wget, git and pyqt5 and make tools.

Install these tools by running the commands provided in your terminal.

sudo pacman -Syy
sudo pacman -S python-pip wget git
sudo pacman -S python-pyqt5 qt5-tools qt5-multimedia
sudo pacman -S cmake make gcc bison flex
sudo pacman -Sy base-devel
  1. Install all Python packages needed:
sudo pacman -S python-pyqt5 qt5-tools qt5-multimedia python-pyzmq

Using pip:
You can also use pip to install above python packages. ( Recommended)

sudo pip install --upgrade pip
sudo pip install -U tornado ws4py setuptools netifaces zmq dev
sudo pip install -U ws4py 
sudo pip install  pyqt5
  1. Install gcc, cmake, libelf, libpcap
sudo pacman -S gcc cmake libelf libpcap
  1. Install Gns3 gui
mkdir -p /tmp/gns3
cd /tmp/gns3 
git clone https://github.com/GNS3/gns3-gui.git
cd gns3-gui
sudo python setup.py install 
cd ..
  1. Install Gns3 server:
git clone https://github.com/GNS3/gns3-server.git
cd gns3-server
sudo python setup.py install 
cd ..
  1. Install dynamips*
git clone git://github.com/GNS3/dynamips.git
cd dynamips
mkdir build
cd build
cmake ..
make
sudo make install 
  1. Download and iniparser and iouyap

Install iniparser using package manager:

sudo pacman -S iniparser

Install iniparser manually:

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 /tmp

Download and build iouyap:

cd /tmp
git clone https://github.com/GNS3/iouyap.git
cd iouyap
make
sudo make install

Check version of ubridge to confirm successful installation:

$ ubridge version
uBridge version 0.9.19 running with libpcap version 1.10.1 (with TPACKET_V3)
  1. Install vpcs*
git clone https://github.com/GNS3/vpcs.git
cd vpcs/src
sh mk.sh
cp vpcs /usr/local/bin/
chmod +x /usr/local/bin/vpcs
cd ../..
  1. Install ubridge:
git clone https://github.com/GNS3/ubridge.git
cd ubridge
make
sudo make install
cd ..
  1. Create launcher
sudo pacman -S vim
sudo pacman -S nano

Download logo image to use as icon:

cd /usr/share/
sudo wget https://www.gns3.com/assets/custom/gns3/images/logo-colour.png

Create gns3.desktop file using nano or vim.

sudo vim /usr/share/applications/gns3.desktop

or:

sudo nano /usr/share/applications/gns3.desktop

Add the following content, save then exit:

[Desktop Entry]
Type=Application 
Version=1.0
Name=GNS3 
GenericName=Graphical Network Simulator
Comment= Network simulator 
Path=/usr/bin/gns3 
TryExec=/usr/bin/gns3
Exec=/usr/bin/gns3 %f
Icon=/usr/share/logo-colour.png 
Terminal=false 
MimeType=application/vnd.tcpdump.pcap;application/x-pcapng;application/x-snoop;application/x-iptrace;application/x-lanalyzer;application/x-nettl;application/x-radcom;application/x-etherpeek;application/x-visualnetworks;application/x-netinstobserver;application/x-5view;
Categories=Application;Network;
Keywords=simulator;network;netsim;

That’s all. You can now launch Gns3 by typing “Gns3” on application search box

gns3-4

Conclusion

We’ve seen how easy it is to install latest GNS3 on Arch Linux and Arch based distributions. I also showed you how to configure launcher for GNS3 on Arch Linux|Manjaro|Garuda|EndeavourOS. I hope this was guide helpful. For any issues encountered during installation please drop a comment and we’ll be happy to help.

coffee

Gravatar Image
A systems engineer with excellent skills in systems administration, cloud computing, systems deployment, virtualization, containers, and a certified ethical hacker.