Skip to main content

Install the GNS3 VM on ESXi

note

VMware ESXi and VMware workstation are two totally different products. If you want instructions for VMware Workstation or VMware Fusion read this document.

GNS3 provides a GNS3 VM for ESXi. It has Ubuntu preinstalled with GNS3 and preconfigured. GNS3 will not control your ESXi and by default ESXi limit what GNS3 can do, you will need to configure ESXi in order to properly run the GNS3 VM.3 VM.

note

Before using GNS3 on ESXi you need to know how to use it locally.

ESXi Version

This documentation cover only ESXi 6.5 using the web interface. The GNS3 VM is known to work with ESXi 5.5 and 6.0 but configuration interface will be different. The vSphere UI is also not explained here.

note

VMware fixed the bug related to GNS3 after the official release of 6.5 so make sure to apply all updates. Especially you need to have the last web interface installed: https://labs.vmware.com/flings/esxi-embedded-host-client/

Download the GNS3 VM

Read this documentation for download links. https://docs.gns3.com/1Bn-s1Izkjp13HxcPF4b8QSGfkWJYG_dpMt9U1DQjvZ4/index.html CHECKLINK

note

Be careful to download the ESXi version for VMware and not the Workstation or VirtualBox version.

Import the VM

Create the VM

Open the web interface and create a new VM:

screenshot

Choose ”Deploy a virtual machine from an OVF or OVA file”

screenshot

Enter the name and upload the .ova of the GNS3 or if your OS unzip the OVA when extract the zip all the files:

screenshot

Select the datastore of your choice and continue.

screenshotscreenshot

At the end of wizard wait for disk upload:

screenshot

Nested virtualization

After booting the VM you will see that KVM is not available:

screenshot

This prevent fast Qemu VM; in order to solve that we need to allow the nested virtualization.

Stop the VM and edit the settings. You need to check expose hardware assisted virtualization:

screenshot

Previous Version of ESXi If you want do expose nested version on previous version. You need to edit the .vmx file and change the settings inside:

hypervisor.cpuid.v0 = "FALSE"
vhv.enable= "TRUE"

Cloud node support

By default VMware for security reason will block forged packets, which means the cloud will not work. To fix that create a new port group:

screenshot

And accept everything:

screenshot

Edit the VM settings to use the new network:

screenshot

Security

GNS3 has no auth enabled by default. It’s your duty to restrict access to it at the network level. Remember that someone controlling GNS3 could inject traffic in your network and run any VM of his choice.

Add the VM in GNS3

Since GNS3 2.0 you have two way for adding the VM in GNS3.

Use it as a central server

With this method you can share a GNS3 instance with multiple clients. All the settings, images, projects will be stored on the GNS3 VM in ESXi. It’s the common way to deploy GNS3 for multiple users.

Read documentation here.

Additional compute process for my local server

If you want to keep data local and run some workload on your computer you can use it as remote compute node. First add the node in the remote server:

screenshot

Apply the settings. After that you need to alias the GNS3 VM as your remote server.

note

Why alias the remote server as the GNS3 VM? This allow portability, if you move the project to another computer the GNS3 VM alias could be to an instance of VMware Workstation, Virtualbox or a Cloud server

screenshot
note

Default port of GNS3 VM is 80.

screenshot

Access to the GNS3 VM via internet

caution

Do not expose the GNS3 VM directly on the internet or via port redirection. It will not work. The correct and secure way is to use a VPN.