Remote Console for GNS3

Now you can connect to the nodes of a running GNS3 project without using lots of resources. Start the lab on a computer with adequate resources, then connect to the devices' consoles from other boxes. Share the lab and the learning experience! Available for Windows and Linux.

The way it works

This video shows the high-level idea:

The program uses GNS3 API to get the properties of the eligible nodes (i.e. nodes with console) from a project; then it lists these nodes and opens Telnet / VNC sessions for the user to the console port of the selected node.

How is this done?

KVM provides built-in Telnet and VNC servers for its VMs: When you boot up a KVM/Qemu VM, you can specify a port where these servers listen, allowing you to connect to its serial console or GUI. GNS3 uses this feature when you click on the “Console” of a node’s context-menu (a.k.a. right-click).

Remote Console for GNS3 does the same; except you don’t click on a GUI but select the node remotely using a small, text-based menu.

Is there any special requirement on the GNS3 server?

You just have to make sure that the GNS3 server listens on a physical interface where users can connect to. The default setup of the GNS3 VM listens on the virtual network of VMware Workstation or VirtualBox, so you have to edit the network manually. Here:

GNS3 menu

The above looks like this when pictured:

Rcon topology

Any limitations?

Of course. 😄 As the name implies, this is all about the console access to the nodes in a GNS3 project. You can’t add nodes, create links between existing nodes, start or stop them, etc…

You can’t even see the GNS3 GUI, unless the group leader, managing the workstation running GNS3, shares his/her screen.

Download

Remote Console for GNS3 is currently available for Windows and Linux operating systems. Download links:

Note: You need python on Linux to run the program. The interpreter is bundled with the program on Windows into a single file (hence the larger size).

You don’t need to install anything; just extract the archive and run the program.

Connect to those nodes only that you’re legally entitled to! Some examples (non exhaustive list):

  • You can connect to a free, open source product; e.g. Open vSwitch.
  • You CAN’T connect to a Cisco IOS (or any other commercial product) if you don’t have a valid service contract; not even if the person running the lab has.

If you’re unsure, ask the person running the lab. Connecting to nodes you’re not entitled to may result breaking the law, which is an act of the user; the developer of this product can’t take responsibility for any misuse of the product.