Virtual NetManager is a visual frontend for VDE and Qemu, written in python>k. From a single graphic UI it is possible to:
* Create and manage several virtual machines * Define your virtual network by adding virtual hubs, switches, cables * Connect tun/tap network interfaces on your PC to local virtual networks * Connect virtual networks among remote machines together, using encrypted tunnels through real networks * See a graphic sketch of the whole topology at any time
Virtual NetManager is freely distributed under the terms of theGnu General Public License v.2
Virtual NetManager can be downloaded from Sourceforge Page
This is a small step-by-step tutorial on how to use this software
The Virtual NetManager main window looks like this:
The first four pages in the notebook are used to create and manage the virtual devices that build up your virtual network. The "Topology" page is used to display the current status of the network.
Create a switch and connect it to a tuntap interface on your physical machine
Right click somewhere in the empty Switch tree and select "New". A dialog will appear, asking for the type of device to be created and a unique name that will identify the device.
Once the "OK" button has been clicked, another dialog will appear. Activate the checkbox to connect the switch to a tuntap interface and choose a valid name for the interface to be created.
By clicking on "Configure" button, you can assign a static IP address to your local tuntap connected to the switch.
When you are done configuring, click on "OK" and the switch will appear in the main window. The icon beside the switch indicates that the switch is turned off. Right click on the switch you just created and turn it on.
From now on, the switch can be connected to other devices and your physical machine will be part of your virtual network.
Create a second switch and connect the two switches together
Follow the instructions in the previous section to create a new switch, but do not enable the checkbox when you configure the new switch; then enable the new switch.
Now you have two separate switches. If you take a look at the topology that will show the two switches are not connected yet. File:Vnm6.png
To connect the two switches, go to the "Connection" page, rightclick on the empty tree and select "New" You will be asked to choose among the three possible device type:
* an ideal high-speed virtual link that forward the traffic between the switches transparently * a "Wirefilter" virtual channel emulator, useful to reproduce real link characteristics * a "Network layer switch", here called "Router", to simplify.
The latter device is able to connect two switches configured for two separate IP subnets, using vde_l3
Let's create a wirefilter to connect our two switches.
A dialog config window will appear, so we can apply a 1% packet loss and a delay of 1281 milliseconds in both directions, to resemble a simplified earth-to-moon wireless interplanetary network link (the delay is calculated on the mean distance between the earth and the moon)
When the configuration is finished, you will have a new connection in the "Connections" page. To enable it, just rightclick and select "Connect".
Connect a Virtual Machine to your network
The action needed to boot a virtual machine from Virtual NetManager is as easy as the procedures described above for the other devices. Right click on the "Virtual Machines" page and select new.
When the machine has been created you are able to configure it. Don't be scared if the Qemu configuration window looks a little bit complex. The options you need to enable are just a few.
In this example I am using a debian base image in Qemu 'snapshot' mode, this means that no changes will be written to the image while the machine is running. When the private Cow mode is selected, a copy-on-write image will be created in the same directory as the base image, to store the changes made to the filesystem by this specific machine.
Base images of operating systems can be either home-made operating system images installed from scratch or pre-built images of installed operating systems. You can download the images of free operating systems from the [FreeOsZoo ]
Several different architectures are supported for the guest virtual machines. In this example I am virtualizing a box of the same architecture type as the host, so I am allowed to enable the KVM Mode. KVM is a Kernel-based Virtual Machine driver that relies on Intel VT or AMD-V hardware to obtain full virtualization.
In the "Video mode" section I selected graphic mode, which pops up a new window when the Virtual Machine is turned on, displaying the virtual screen of the guest machine. The "background" option runs Qemu in "-nographic" mode, so you will have to use the network to access your machine, or add a serial console tty using the "Extra QEMU options" at the bottom of the form (see Qemu documentation for more information). The VNC mode will not pop up any window, but you can use your favorite vnc client to connect to the virtual screen through the host machine.
The virtual machine can have up to 2 virtual ethernet card. Each one has to be connected to an existing switch in the virtual network.
In the example I am enabling and connecting the first ethernet to the Moon switch. The mac address has been randomly generated.
Once the machine has been configured, click on "OK", then rightclick on the machine in the tree to turn it on. While the machine is booting, let's have a new look to the topology to see how it's changed.
Ok, our moon station is connected to the moon switch, once it's ready let's verify the link with the host network with ICMP:
As we can see, the round-trip delay of the ping is the one we had chosen in the previous section when we configured the wirefilter link. Our guest debian is now virtually 384400 Kilometers far from our pc, and we can see, for example, how TCP connections suffer from the delay.
--Danielinux 19:23, 28 February 2009 (CET)