In an older post about my previous GNS3 lab environment, I wrote about a long standing GNS3 lab environment I had been operating which became cumbersome and difficult to maintain over time. I have since adopted a new lab environment which is easier to maintain, more efficient on my compute resources, and scalable. In this post I’ll break down my new lab topology and go through the nuances of running this particular setup.
My new lab environment includes running the desktop fat client (GNS3.exe or whatever flavor of binary you require) on my personal workstation and connecting back to the VMware ESXi running GNS3VM to provide for the under-the-hood horse power needed to run my GNS3 topologies as referenced in the above diagram. Upon launching the desktop GNS3 client, you would seemingly be unaware that the topologies were actually be processed by a remote GNS3VM.
Assuming you have your ESXi host up and running, download the GNS3VM and import the virtual machine onto your ESXi host.
With these specs I’ve been able to run any lab that I’ve thrown at GNS3. Once the GNS3VM is booted up and online, you’ll need to assign it an IP address by launching the console and using the GNS3VM appliance menu options. I had additionally assigned a DNS host record for my GNS3VM so that I could reference it by it’s hostname of “gns3vm” as you’ll see in my GNS3 desktop app settings. The deployment of the GNS3VM is rather straight forward. On to the desktop client setup.
Desktop application installation
From my personal workstation I install the GNS3 application, making sure to not to install anything else by unchecking everything but the
GNS3 Desktop option. By default the GNS3 installer will want to install additional tools to add functionality to the local GNS3 desktop application which wont be needed in this particular case. This local GNS3 desktop app will serve as the “front-end” to my GNS3 lab environment and will ultimately connect back to the GNS3VM running on my Cisco UCS M4 ESXi server.
For the server selection screen choose to
Run appliances on remote server (advanced usage). This will prevent any local GNS3VM from having to run directly on your personal workstation which is typically required via some flavor of desktop virtualization when not running a remote appliance. Lastly Enter in the appropriate FQDN or IP address of your GNS3VM.
I highly recommend this setup if you have a descent server available to you. Additionally you could stand up several GNS3VM’s on your ESXi box to spread workloads around but that’s another posting for another day.