GNS3 by Jean-Christophe Manciot is licensed under a GPLv3 License.
Table of Contents
Installing GNS3
On a Local Computer, Laptop or Server
The following packages are required to run GNS3 on the local computer/laptop/server:
- gns3-gui: GNS3 Graphical User Interface. Its deb package won't be built as long as this issue remains unsolved. So a pip package must be pulled from Pypi instead.
- gns3-server: The GNS3 server manages emulators such as Dynamips, Qemu/KVM, VirtualBox or VMware. Clients like the GNS3 GUI controls the server using a HTTP REST API. Its deb package won't be built as long as this issue remains unsolved. So a pip package must be pulled from Pypi instead.
The following package is optional to run GNS3 on the local computer/laptop/server:
- dynamips: Legacy Cisco 7200/3600/3725/3745/2600/1700 Router Emulator.
$ suod apt install dynamips
# You should install the following 2 packages inside a python3 virtual environment...
# ... in which case the provided gns3.service must be manually modified
$ sudo python3 -m pip install gns3-gui gns3-server
# For gns3-gui
$ sudo apt install python3-pyqt5.qtsvg python3-pyqt5.qtwebsockets
In order to easily manage GNS3 server, a systemd service file which is not part of previous packages has been made available:
$ sudo mkdir -pv /var/log/gns3
$ sudo wget https://git.sdxlive.com/PPA/plain/GNS3/gns3.service
$ sudo mv gns3.service /lib/systemd/system
$ sudo systemctl enable gns3
$ sudo systemctl start gns3
$ sudo systemctl --no-pager --full status gns3
On a Remote Bare-Metal or VM Server
The following optional scripts allow to install & run GNS3 Server on a remote bare-metal/VM server; they are typically used when local resources - RAM/vCPUs - are too scarce to run NFVs images on the local computer/laptop/server.
Hosted on a Remote Public Cloud
gns3-install-on-remote-server.sh: Optional script which installs GNS3 Server on a recent remote Debian bare-metal/VM server inside an OpenVPN tunnel by default.
- The server must be remotely accessible through Internet, for instance a VM or a bare metal server hosted in a public cloud, such as packet.net.
- The security of the whole process has been enforced and hardened: all communications during & after the installation are authenticated and encrypted by default using SSH & OpenVPN tunnels.
- GNS3 server is available at the address
172.31.255.1:3080
. - It can be downloaded into the remote host with the command:
wget https://git.sdxlive.com/DR/plain/GNS3/gns3-install-on-remote-server.sh
. - Only the latest stable Debian distribution is supported.
- Finally, KVM nested virtualization support is expected from the public/private cloud infrastructure provider if VMs are used to host the GNS3 server.
Hosted on a Local LAN or WLAN
gns3-install-on-local-server.sh: Optional script which installs GNS3 Server on a recent remote Debian bare-metal/VM server inside an OpenVPN tunnel by default.
- The server must be located on a local LAN/WLAN downstream from the Internet router(s).
- The security of the whole process has been enforced and hardened: all communications during & after the installation are authenticated and encrypted by default using SSH & OpenVPN tunnels.
- GNS3 server is available at the address
172.31.255.1:3080
. - It can be downloaded into the remote host with the command:
wget https://git.sdxlive.com/DR/plain/GNS3/gns3-install-on-local-server.sh
. - Only the latest stable Debian distribution is supported.
- Finally, KVM nested virtualization support is expected from the server if VMs are used to host the GNS3 server.
CCNP-X Labs Collection
My Collection of GNS3 CCNP-X Labs is available for cloning.
Notes
- The scripts are my own creation, with a little bit of inspiration from a GNS3 Technologies Inc. script.
- Many Cisco images including the switch IOSv-L2 ones are available with Cisco CML