Archives For GNS3

Google Cloud Platform introduced nested virtualization support in September 2017. Nested virtualization is especially interesting to network emulation research since it allow users to run unmodified versions of popular network emulation tools like GNS3, EVE-NG, and Cloonix on a cloud instance.

Google Cloud supports nested virtualization using the KVM hypervisor on Linux instances. It does not support other hypervisors like VMware ESX or Xen, and it does not support nested virtualization for Windows instances.

In this post, I show how I set up nested virtualization in Google Cloud and I test the performance of nested virtual machines running on a Google Cloud VM instance.

Continue Reading…

dCore Linux is a minimal Linux system based on the Tiny Core Linux system. Like Tiny Core Linux, dCore loads its file system entirely into RAM, which should provide good performance in large network emulation scenarios running on a single host computer.

dCore Linux allows users to install additional software from the Debian or Ubuntu repositories, instead of using the pre-built (and often out-of-date) TCE extensions provided for Tiny Core Linux. This should simplify the process of building network appliances for use in a network emulator, as you will not need to compile and build your own extensions, or use out-of-date pre-built extensions.

dCore Linux is designed to run as a “live” Linux system from removable media such as a CD or a USB drive but, for my use, I need to install it on a hard drive. Currently available instructions for installing dCore Linux onto a hard drive are incomplete and hard to follow. This post lists a detailed procedure to install dCore Linux on a virtual disk image connected to a virtual machine. I use VirtualBox in this example, but any other virtual machine manager would also be suitable.

Continue Reading…

I need to determine the maximum number of KVM virtual machines that can run on an average laptop computer. Unfortunately, I cannot find authoritative information about the maximum number of KVM virtual machines that can run on a host computer. Most information I could find about KVM limits does not publish absolute limits but, instead, recommends best practices.

In this post, I will synthesize the information available from multiple sources into a single recommendation for the maximum number of KVM-based nodes that can run in an open-source network simulator running on a single host computer.

Continue Reading…

In this post, I will show how to set up data capture in the GNS3 network simulator when using network devices that are emulated by VirtualBox or QEMU virtual machines.

The GNS3 network simulator makes it easy for users to capture and view data passing across the interfaces of devices running in a GNS3 network simulation. The GNS3 documentation covers how to capture data from devices running on Dynamips in GNS3 but the procedures for capturing data from devices running in other hypervisors, such as VirtualBox or QEMU/KVM, are not well documented.


While GNS3 users may start and stop data capture on Dynamips VM interfaces any time they wish, they must plan ahead when they intend to capture data on open-source routers and hosts running on VirtualBox or QEMU virtual machines.

Continue Reading…

GNS3 1.3 will create and manage VirtualBox virtual machine linked clones from within the GNS3 user interface. This simplifies the process of setting up VirtualBox virtual machines in GNS3, which makes GNS3 easier to use for studying the operation of open-source routers, switches, and hosts in network simulation scenarios.


In this post, I will show how to set up and use VirtualBox linked clones in your GNS3 simulation scenarios and work through a detailed tutorial.

Continue Reading…

In 2014, the GNS3 development team launched a successful Kickstarter crowdfunding campaign to support development of a major new release, version 1.0, which was released in October that same year. I was happy to support the Kickstarter campaign and now I am finally getting around to taking a look at the new version of GNS3.


The last time I used the GNS3 network simulator, it was at version 0.8.7. After producing version GNS3 1.0, the GNS3 development team has been updating it frequently. GNS3 is now at version 1.3.7.

In this post, I will look at the new version 1.3.7 of GNS3 and evaluate how it works with emulated routers and hosts running open-source software.

Continue Reading…

GNS3coverNo Starch Press recently sent me a preview copy of a new book about the GNS3 network simulator, titled The Book of GNS3 written by Jason Neumann. This book covers the new version of GNS3, GNS3 1.x. Here is my review of The Book of GNS3.

The Book of GNS3 effectively serves as a user manual for GNS3. It offers detailed installation and configuration information for GNS3 1.x in one easy-to-access volume. Experienced users will find some new information in this book, especially about the new features available in GNS3 1.x. However, I think the main beneficiaries will be new or inexperienced users of GNS3.

Most users of GNS3 use it to emulate networks of commercial routers from vendors such as Cisco and Juniper. Understandably, Mr. Neumann spends most of the book discussing how to set up GNS3 to run commercial routers and, as much as is possible, switches.

How does this book help those who want to use open-source routers in GNS3? Read the rest of my review to find out.

Continue Reading…

The GNS3 development team produced a major new release, version 1.0, in October 2014. Since then, they have been regularly updating GNS3 and, at the time I write this, the latest version of GNS3 is version 1.3.7.

The latest version of GNS3 cannot be installed using a package manager like Ubuntu Software Center or Synaptic because no packages have been created yet for GNS3 1.x. The Ubuntu repository and the GNS3 PPA only provide packages for old versions of GNS3. The latest version of the GNS3 package for Debian/Ubuntu is GNS3 0.8.7.

The GNS3 development team is working on packages for GNS3 1.x but, as of the time I post this, it is not clear when they will be available.

To install the latest version of GNS3 on an Ubuntu Linux system, install the dependencies, download the GNS3 source files, and compile the software. I provide the list of commands in this post.

Continue Reading…

TinyCore Linux is very suitable for devices like routers that require a higher level of security. All changes made to a running TinyCore Linux system exist only in system RAM and are lost when the system restarts or is shut down. Viruses or file corruption can be removed simply by rebooting the system.

When used as part of an open-source network simulator, the TinyCore Linux appliance can be restored to a base configuration every time it is started. This means the same appliance can be reused in new simulation scenarios without having to clear configurations that may be left over from a previous simulation effort.

However, in some cases we may want to save the configuration changes we make. For example, we may wish to have a basic network configuration working at start time. Or, we may wish to build a complex simulation scenario that will be re-used by other researchers. In this post, we discuss the TinyCore Linux system architecture and how to save configuration changes.

Continue Reading…

GNS3 can be used to simulate a network composed exclusively of open-source routers, switches, servers, and hosts.

Open-source Linux GNS3 simulation

In this post, we will investigate how well GNS3 works when we use it strictly as an open-source network simulator, without using Cisco or Juniper routers in the simulation.

Continue Reading…

GNS3: Qemu or VirtualBox?

January 18, 2014

To run virtual nodes in a simulated network, the GNS3 open-source network simulator supports two virtualization technologies: Qemu and VirtualBox. The open-source routers we will use in a GNS3 simulated network must run on either a Qemu or a VirtualBox hypervisor. Depending on one’s requirements, one might choose either VirtualBox or Qemu.

Let me tell you why I prefer VirtualBox over Qemu when using GNS3 to simulate a network of Linux computers running open-source routing and switching software.

Continue Reading…

GNS3 is a very popular network simulation tool that runs on the major operating systems: Windows, Mac OS, and Linux. GNS3 is primarily used to emulate networks of Cisco routers and is used by professionals studying for Cisco certification exams.

GNS3 supports Cisco router software images running on the Dynamips hardware emulation program. GNS3 also supports other hardware emulation and virtualization technologies that can run Linux virtual machines: Qemu and VirtualBox.

GNS3 network simulator with open-source Linux routers

Our interest is to emulate networks of open-source routers and switches using open-source technologies. While there are many web sites and online tutorials dedicated to using GNS3 to emulate Cisco networks and Juniper networks, I found only a small amount of information about using GNS3 to emulate a network of Linux virtual machines running open-source routing and switching software.

In this post, we show how to install and set up GNS3 and VirtualBox to emulate a network consisting only of open-source routers and hosts.

Continue Reading…