Skip to content

Installing a Debian 11 hypervisor

curl | sh -s -- --verbose
If the curl command is missing, install it using:apt install curl -y

Once the installer has completed, you may add it to the control server.


Network setup

VirtFusion supports MacVTap, Bridge, Libvirt routed and Libvirt networking.

MacVTap is the default networking used by VirtFusion since v1.7.2 and does not require further network setup, however, if you need the ability to filter traffic (IP Spoofing) you should use a bridge or routed network.

MacVTap networking

MacVTap is a device driver meant to simplify virtualized bridged networking. It replaces the combination of the tun/tap and bridge drivers with a single module based on the macvlan device driver.

This option has a limitation that you cannot filter traffic and you will lose IP Anti-Hijacking functionality.

No configuration required.

Standard bridge networking

On Debian a standard /etc/network/interfaces file will look similar to this.

auto lo
  iface lo inet loopback

auto eth0
  iface eth0 inet static
   address <IPADDRESS>
   gateway <GATEWAY>
   netmask <NETMASK>
   dns-nameservers <DNS1> <DNS2>

This will need to be modified to the following.

auto lo
  iface lo inet loopback

auto eth0
  iface eth0 inet manual

auto br0
  iface br0 inet static
   bridge_ports eth0
   address <IPADDRESS>
   gateway <GATEWAY>
   netmask <NETMASK>
   dns-nameservers <DNS1> <DNS2>
   bridge_stp off
   bridge_waitport 0
   bridge_fd 0

Once the bridge is set up, networking will need to be restarted.

systemctl restart networking

Libvirt routed networking

No modification of the main networking configuration is required.

Network configuration

Defining a Libvirt network is reasonably straightforward and should be low maintenance.

Create a file named network.xml with the following contents.

    <forward mode='route' dev="eth0"/>
    <bridge name='br0' stp='on' delay='0'/>
    <ip address='' netmask=''/>
    <ip family="ipv6" address="2001:db8:aa::1" prefix="64"/>
  • If you don't require IPv6 you may remove the family="ipv6" line.
  • Replace eth0 with the device name of the main network.
  • Replace with your own subnet that is to be assigned to the server and the corresponding netmask.
  • If you require IPv6, replace the address with your own subnet and the corresponding prefix.
You may need to install dnsmasq if it's not installed already. You can do so by running apt -y install dnsmasq.

Define the network, set it to autostart and start it.

virsh net-define --file network.xml
virsh net-autostart br0
virsh net-start br0

Network setup is now complete. You should use the main IP of the hypervisor as the gateway for the defined subnet.


Although it's not advised, you may install a hypervisor directly on the control server. This allows for a single server setup.