Archives For cloonix

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…

This tutorial shows how to set up the Cloonix network emulator on a server. It builds on top of my previous post about how to set up a virtualization server on Now, I focus on a specific case: setting up the Cloonix network emulator on the virtualization server. You should read my previous post before reading this one.

Running Cloonix on a remote server enables users to work with more complex network emulation scenarios than would be possible on a standard laptop computer. For example. Cloonix recently added a feature which allows users to run Cisco router images in a Cloonix network emulation scenario. Cisco router images require a large amount of computer resources so I cannot run more than a few on my personal laptop computer. If I use a remote Packet server, I could run dozens of Cisco images in a network emulation scenario if I wanted to.

In this post, I will set up a Cloonix network emulation server on so it can be started, stopped, and restarted relatively quickly.

Continue Reading…

The Domain Name System (DNS) is a fundamental Internet technology. Network emulators like Cloonix offer a way for researchers and students to experiment with the DNS protocol and with the various open-source implementations of DNS, such as BIND.

In this post, I will install Cloonix from the Github source code repository. I will run the Cloonix DNS demo script to create a simple DNS scenario and then run some experiments with DNS. Along the way, I will demonstrate some of the new Cloonix version 33 features.

Continue Reading…

The Cloonix network simulator has been updated to version 29, which adds the ability to save network simulation topologies and node configurations to a directory.

Users may save a network topology and all node configurations to a directory of their choice. They may also load saved topologies into Cloonix so they can restore a network scenario they previously created. The save function of Cloonix v29 supports copy-on-write filesystems and also allows users to save the full filesystems of nodes, if they wish.

This post will work through a detailed tutorial showing how to save, load, and re-save topologies and node configurations using the Cloonix GUI or command-line interface.

Continue Reading…

The Cloonix development team recently released a major update to the Cloonix network simulator.

Cloonix version 28 makes major changes to the infrastructure of Cloonix. It changes the installation procedure, the location of Cloonix files on your computer, and the names of the commands used to start and administer Cloonix.


Cloonix version 28 also makes changes to the features available to users. It adds support for multiple Cloonix servers running on the same machine, and standardizes and documents the new interface types used to connect virtual machines to each other.

Read the rest of this post for more details about what’s new in Cloonix v28.

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…

The Cloonix development team released an update to Cloonix version 26 in May 2015. An important addition in version 26 is a greatly expanded and improved Cloonix user guide.


The new version also changes the user interface, adds a new LAN type, and eliminates the t2t device. It also includes updated guest virtual machines.

Continue Reading…

The Cloonix open-source network simulator uses the Spice remote desktop system to provide a virtual desktop connection to quest virtual machines that run a graphical user interface, such as Microsoft Windows or a Linux desktop environment.

To use a graphical desktop user interface on a guest VM, we access the VM using the Spice desktop console.

Continue Reading…

To run a program that uses a graphical user interface on a guest virtual machine running in the cloonix open-source network simulator, log into the guest VM from the host computer using SSH and forward the X11 display. Then, any X11 program you run on the guest VM using that SSH session, such as Wireshark, will display its X windows on the host computer.

Continue Reading…

As we work through this tutorial, we will learn how to use the cloonix graph interface to build a simulation scenario that includes two small IPv6 networks connected to each other by two routers via static routes. We will also learn how cloonix saves network topologies and guest virtual machine root filesystems.

Cloonix IPv6 linux network simulation

Linux IPv6 network simulation running on the cloonix open-source network simulator

The cloonix open-source network simulator uses KVM virtual machines in the simulated network so, in this tutorial, we will demonstrate real Linux router and host configuration procedures.

Continue Reading…

The cloonix project provides a variety of root filesystems for use in the cloonix network simulator. These root filesystem only have the most basic software packages installed and will not support advanced network configuration (with the exception of router filesystems such as openwrt).

To create a network simulation that runs real-world networking software, we need to install new software on the root filesystems we will use in cloonix. In this example, we chose to start with the Debian jessie root filesystem and we will install some networking software and a desktop environment.

We will also show how to save the upgraded root filesystem for future use as either a static or non-static root filesystem.

Continue Reading…

The cloonix development team recently updated the cloonix network simulator to version 24. This post describes the changes in cloonix v24 compared to cloonix v19, which we reviewed in a previous post.

Cloonix open-source network simulator on Linux

Version 24 simplifies the setup of guest virtual machines, improves the link performance emulation tool, and adds new interface types designed to improve packet throughput performance. Users familiar with the cloonix graph GUI will have no problems using this new version, but shell scripts with cloonix ctrl commands may need to be updated, because the ctrl CLI has changed.

Please read on to see a detailed description of the changes.

Continue Reading…