VDE native support for VirtualBox

From Virtualsquare
Jump to: navigation, search

VirtualBox has added the support of VDE networking as a standard feature included in the source tree.

VDE is currently included in the SVN version, it should enter in the next source code release and then in the binaries provided in major GNU-Linux distributions. VDE support is a standard feature of VirtualBox 3.2.0.

VDE-VirtualBox usage scenarios

Why VDE on VirtualBox?

Let us compare VDE over all the other networking methods provided by VirtualBox:

  • VDE vs "NAT" (a.k.a. slirp): NAT is just for client application, VDE provides a real virtual network, supporting all services running on all ports.
  • VDE vs "Bridged" (a.k.a. tuntap or netfilter): VDE is usermode/userlevel. No need to mixup real and virtual networks, no need to use extra privileges (root access is not required).
  • VDE vs "Internal": VDE spawns outside the set of VMs running on a VirtualBox VMM. It goes further, it can provide LAN connectivity among Virtual Machine running on processors spread over the Internet, and not only for VirtualBox VMs: kvm, qemu, user-mode-linux, umview, kmview, pearpc, gxemul, etc
  • VDE vs HostOnly: VDE is *not* host only, it is distributed.
  • VDE vs "not attached": for safety not attached is not bad, unfortunately running a disconnected VM is often useless. VDE is quite safe, and allows the deployment of useful services.

VDE-VirtualBox Linux build instructions

The instructions to build VirtualBox are: here

just remember to add

   --enable-vde

to the ./configure command.

How to set up a VM using VDE

It is straightforward simple. Choose the VDE item in the Network Adapter configuration dialogue.

File:Vboxvde1.png

The "Name" of a VDE network is the pathname of the switch directory (see -sock parameter of vde_switch(1)). When name is left black the standard switch is used (/var/run/vde.ctl or /tmp/vde.ctl).

File:Vboxvde2.png

The VDE interface is listed in the machine configuration summary as follows:

File:Vboxvde3.png

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox