GNS3 short for Graphic Network Simulator-3 is a free and open-source network simulator that is used to design and build virtual networks. It enables network engineers to virtualize real hardware devices and help test and deploy real-world deployments.

GNS3 consists of two software components.

  • GNS3 all-in-one graphical user interface that is installed on a local PC.
  • GNS3 virtual machine either locally or via a virtualization software like VMware Workstation.


  • Free and open-source with no monthly or yearly fees.
  • Customized topologies and labs within GNS3 for network certification training
  • No limitation on the number of devices supported.
  • Supports both free and paid hypervisors.
  • A large and active community of 800,000+ members.
  • Supports multi-vendor environments.

This guide will show you how to install and use GNS3 on KDE Neon|Kubuntu;

  1. From the apt repository
  2. Using Pipy

Minimum requirements

  • Memory 4GB
  • 1GB available space, More storage is needed for OS and Device Images.
  • Processor – 2 or more Logical cores – AMD-V / RVI Series or Intel VT-X / EPT – virtualization extensions present and enabled in the BIOS. More resources allow for larger simulation

Step 1. Installing GNS3 on KDE Neon / Kubuntu

Update your system packages

### Kubuntu ###
sudo apt update && sudo apt upgrade -y

### KDE Neon ###
sudo apt update && sudo pkcon update -y

Option 1: Install GNS3 from the Apt repository

Then add the official repository to your system

sudo add-apt-repository ppa:gns3/ppa

Update your system the install GNS3.

sudo apt update                                
sudo apt install gns3-gui gns3-server

When prompted whether non-root users should be allowed to use ubridge, select ‘Yes’.

The same for wireshark. Press the TAB key to select the <yes> option

Add IOS on Unix (IOU) support using the following lines.

sudo dpkg --add-architecture i386
sudo apt update
sudo apt install gns3-iou

To verify the installation, use

$ gns3 --version

Option 2: Install GNS3 from Pipy

Update your system packages and use the following command to install missing dependencies.

sudo apt install -y python3-pip python3-pyqt5 python3-pyqt5.qtsvg \
python3-pyqt5.qtwebsockets \
qemu qemu-kvm qemu-utils libvirt-clients libvirt-daemon-system virtinst \
wireshark xtightvncviewer apt-transport-https \
ca-certificates curl gnupg2 software-properties-common

When prompted to install wireshark, click Enter to continue.

Then install GNS3 from Pipy

sudo pip3 install gns3-server
sudo pip3 install gns3-gui

Add the installation directory to $PATH

echo 'export PATH=$HOME/.local/bin:$PATH'|tee -a ~/.bashrc
source ~/.bashrc

Check for the version

$ gns3 --version

Step 2. GNS3 Docker Integration

First, ensure that you have no previous docker installed by removing older versions.

sudo apt remove docker docker-engine

Then install the following packages.

sudo apt-get install apt-transport-https ca-certificates curl \ software-properties-common

Import the official GPG docker key

curl -fsSL | sudo apt-key add -

Add the Docker repository

sudo add-apt-repository "deb [arch=amd64] $(lsb_release -cs) stable"

Update your system and install docker.

sudo apt update
sudo apt install docker-ce

We will add users to the following groups ubridge, libvirt, kvm, wireshark, docker. You can use the following line. Replace the user_name with your actual Username.

sudo usermod -aG ubridge,libvirt,kvm,wireshark,docker user_name

Step 3. Launch GNS3 on KDE Neon / Kubuntu

To launch GNS3 from the terminal


You can also launch it from the application launcher.

A setup wizard opens. Select the option Run appliances on my local computer then click Next.

The next screen shows the local server configuration, You can alter them to suit your needs and click Next.

The next screen will be the validation of the configuration from the local server showing the successful connection.

The next screen will show the summary of the settings.

Then the workspace will open as shown below.

Step 4. Create Basic GNS3 Topology on KDE Neon / Kubuntu

Click on File>>New blank project.

Give the project a name and save. Then add Local PCs as shown below by dragging and dropping.

Then add an ethernet switch to the workspace.

Then add links as shown below. Select links then click o PC1 to see the Ethernet0 to select it. Then click on the Switch and left-click to select Ethernet0 to finish the link. Then click on PC2 to select Ethernet1 and left-click on the switch to select Ethernet1.

It appears as below.

Then click on the green play button to start the devices.

At this point, you might encounter an error, where it says the ubridge is not installed. You can do so by using the following commands

$ sudo apt install libcap-dev git build-essential
$ git clone
$ cd ubridge
$ make
$ sudo make install

Step 5. Configure Devices to Connect

Click on the console button to connect all the devices. A terminal emulator x-term will be opened which is what I will use as default. You can use another terminal emulator by changing the console application under General preferences. If you choose a different terminal emulator, you might have to install it on your system if you do not have it.

You can install the terminal emulators by using the following command

## x-term ##
sudo apt install xterm -y

## Putty ##
sudo apt install putty -y

We can then try to assign IP addresses to the PCs. For PC1, we can assign ip as shown below

Then for PC2, we will use ip

We can then ping PC2 from PC1 to see if they are connected.

The same goes for PC2 to PC1.

Save the configurations for use later on as GNS3 does not save the configurations.

PC-1> save
Saving startup configuration to startup.vpc
.  done

PC-2> save
Saving startup configuration to startup.vpc
.  done

This shows we have successfully configured a basic topology to which you can add more complex topologies.


From this guide, we have installed GSN3 on KDE Neon|Kubuntu systems from the apt repository and using Pipy. We have added Docker support and set up the path for the GNS3 projects. We have also created a basic GNS3 topology and configured it with IP addresses and tested ping with them to see if they are connected.

Other guides to go through:


Please enter your comment!
Please enter your name here