Install the GNS3 VM on ESXi
WARNINGVMware 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.
WARNINGBefore using GNS3 on ESXi you need to know how to use it locally.
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.
WARNINGVMware 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/
WARNINGBe careful to download the ESXi version for VMware and not the Workstation or VirtualBox version.
Open the web interface and create a new VM:
Choose ”Deploy a virtual machine from an OVF or OVA file”
Enter the name and upload the .ova of the GNS3 or if your OS unzip the OVA when extract the zip all the files:
Select the datastore of your choice and continue.
At the end of wizard wait for disk upload:
After booting the VM you will see that KVM is not available:
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:
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"
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:
And accept everything:
Edit the VM settings to use the new network:
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.
Since GNS3 2.0 you have two way for adding the VM in GNS3.
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.
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:
Apply the settings. After that you need to alias the GNS3 VM as your remote server.
NOTEWhy 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.
WARNINGDo 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.