In the last month I spoke with 3 different people that talked about the new feature for GNS3: the GNS3 VM. If ou installed any of the recent GNS3 versions, you have come acrosse the setup wizard window:
The GNS3 VM is a virtual machine which runs GNS3 and to which the GNS3 client installed in our PC connects to. It’s a feature introduced in GNS3 from version 1.4 but the VM is not really something new. Many people used their own VM’s for GNS3 and some are publicly available in projects like GNS3 Workbench working in a similar concept.
I’m going to follow Simon Sinek and start with the reasons to use a VM.
All this time GNS3 is being developed for many operating systems, with each one having its own challenges. Windows, Linux, Mac are all different and each person’s PC is also different even when running the same operating system. What if it was possible to have GNS3 running in a reliable system, deterministic and where we are sure that all dependencies are installed and configured as they should be? Always?
That’s exactly the problem GNS3 VM solves. Running the GNS3 server, Dynamips hypervisor and Qemu (which doesn’t like windows) all in an isolated system, all the variables from the different operating systems are eliminated, reducing the impact of any host software and at the same time reducing GNS3 impact on the host (like high CPU utilization by GNS3). I believe GNS3 VM also makes it easy for future growth of this application to support the latest when it comes to open source apps for linux, as is the case of docker containers now supported in GNS3 1.5.
Users of GNS3 started using it more and more as a network simulation software in general and not only as a Cisco hardware emulator for IOS. But features like running VM’s with Qemu are unstable and unpredictable especially in Windows.
How does it work?
If you have seen my previous post GNS3 e as portas console (portuguese) you had a hint on how GNS3/dynamips works. When we run GNS3 we simply run a local network service to which our own PC connects to and through that connection that simulation instructions are passed to the GNS3 server.
But if GNS3 allows network connections then it’s possible for it to receive connections from external clients. This was always possible with the “Remote Servers” feature. The GNS3 VM feature simply makes it much easier, eliminates the complexity of having to install a VM, configuring the network and integrating this VM with GNS3 as a remote machine. With the GNS3 VM, the GNS3 client makes the “connection” to virtualbox or vmware, we pick the correct VM and GNS3 takes care of the rest: starting the VM, configuring the network and making the appropriate connections.
GNS3 IOU VM
There used to be a VM called GNS3 IOU VM for GNS3 which made it easy to run IOU/IOL images with GNS3. With the GNS3 VM it’s recommended not to use the IOU VM anymore. The IOU/IOL images should be run inside the GNS3 VM. New GNS3 versions even come with a GNS3 IOU VM converter.
Is the GNS3 VM for you?
If you are preparing yourself for any certification and your experiences involve only Cisco IOS routers, then you don’t really need to worry. GNS3 running in the host is enough for you.
How do I install it?
I have not decided whether or not I will write about installing and using the GNS3 with the GNS3 VM, but documentation on gns3.com is clear. The recommendation is to use VMWare (Fusion/Workstation) instead of VirtualBox. VMWare allows Qemu VM’s to use KVM acceleration in Linux for better performance and speed.
And always make sure the GNS3 version of the client in the host is the same as the GNS3 VM.