Skip to main content
Version: 2.0

Hypervisor Installation

Requirements

Resources

  • A large /home partition (This is the default location for virtual server data)

Operating Systems

The following operating systems are supported.

Operating SystemStatus
Debian 11 (Bullseye)Fully Supported
AlmaLinux 8 (RHEL 8)Fully Supported
AlmaLinux 9 (RHEL 9)Fully Supported
Rocky Linux 8 (RHEL 8)Fully Supported
Rocky Linux 9 (RHEL 9)Fully Supported
Ubuntu 22.04Fully Supported

Installation

Select your operating system.

Run the following commands as a root SSH user.

apt install curl -y
curl https://install.virtfusion.net/install-hypervisor-kvm-debian-11.sh | sh -s -- --verbose

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

installer

Network setup

VirtFusion supports Direct, Bridged, Routed, NAT and Isolated networking.

Important

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) or firewalls, you should use a bridged or routed network.

Very Important

If your intention is to use NAT networking, It's not mandatory to setup any of the below networks. Continue the installation process here

MacVTap (direct) networking

MacVTap (direct) 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 and firewall 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.

<network>
<name>br0</name>
<forward mode='route' dev="eth0"/>
<bridge name='br0' stp='on' delay='0'/>
<ip address='10.0.0.1' netmask='255.255.255.0'/>
<ip family="ipv6" address="2001:db8:aa::1" prefix="64"/>
</network>
  • If you don't require IPv6 you may remove the family="ipv6" line.
  • Replace eth0 with the device name of the main network.
  • Replace 10.0.0.1 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.

Notes

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