Install GNS3 Server on KVM Jul 2nd 2021 Words: 255

Background

I have been looking for an alternative of Cisco Packet Tracer for a long time. The Cisco Packet Tracer is a good tool for network simulation, but it is not cross-platform, and there are few images to select. GNS3 looks like a great replacement with neat and modern UI, wide range of appliances and cross-platform support.

Installing GNS3 Server on KVM

One feature of GNS3 I like is that it separates the GUI with its simulation environment, so instead of installing tons of dependencies and runtime, one can work with the network schema in the GUI and throw all simulation work to another machine. Although it is fine install the GNS3 server on the bare system, I prefer running everything in the VM/container for better isolation and management.

GNS3 officially supports many visualizations such as VirtualBox, VMWare, KVM and Hyper-V. I choose KVM in Linux.

Installing KVM

On Debian flavor distro:

1
2
3
4
5
#install kvm
sudo apt install qemu-system libvirt-clients libvirt-daemon-system

#Allow user control
sudo usermod -aG libvirt $(whoami)

Enable nested virtualization in kvm

Shut down all running VMs and unload the kvm_probe module

1
sudo modprobe -r kvm_intel

Activate the nesting feature (temporarily, restore default after reboot)

1
sudo modprobe kvm_intel nested=1

Activate the nesting feature persistent between reboots, edit /etc/modprobe.d/kvm.conf

1
options kvm_intel nested=1

For AMD processors, replace intel to amd in the above commands,

Installing GNS3 Server

Download the GNS3.VM.KVM.*.zip from GNS3 GitHub repo

Unzip the file and create the VM using two disk image.