Hetzner Cloud is an affordable hosting solution which is paid by the hour, meaning you can quickly spin up a test-server, do what you need to do and stop it again, only paying for the time you are actually using it.

If you want to check them out, please use my referral-code: Hetzner Cloud

Use Case

One thing I commonly use Hetzner Cloud for is spinning up instances of Proxmox to test things like SDN in a fresh setup to not have any settings from my other development servers.

In this post

In this post I want to show you how you can setup Proxmox on Hetzner Cloud and start containers and qemu VMs.

Prerequisites

You will need a default Debian Server, which just can be of any size. Install Proxmox on top of the existing Debian installation using the guide in the official Documentation: Install Proxmox VE on Debian 12 Bookworm - Proxmox VE

After the setup, your hosts network configuration should look like this:

Default network configuration
Default network configuration

I'll download a default Debian 12 LXC template into the local storage and create a new container with it, connecting it to the vmbr0 bridge.

Next, i'll create a floating IP and attach it to the server, copy the command that get's displayed there and execute it on the server.

Creation of a new floating IP
Creation of a new floating IP

Now, we need to tell Proxmox to also route this IP, we do that by editing our /etc/network/interfaces file:

auto eth0
iface eth0 inet manual
        pointopoint 172.31.1.1
        dns-nameservers 185.12.64.1 185.12.64.2
        post-up echo 1 > /proc/sys/net/ipv4/ip_forward
        post-up echo 1 > /proc/sys/net/ipv4/conf/eth0/proxy_arp

auto vmbr0
iface vmbr0 inet static
        address 65.109.167.211/32
        gateway 172.31.1.1
        bridge-ports eth0
        bridge-stp off
        bridge-fd 0
        up ip route add 95.217.30.185/32 dev vmbr0

we add the post-up echo 1 > ... commands to tell the networking stack to forward IP and ARP traffic and add our floating IP to the bridge with the up ip route add xxx command.

Container configuration

Now, let's configure the container to use the floating IP:

LXC Container IP attachment
LXC Container IP attachment

We use the floating-ip with a /32 subnet as the IP and enter our primary IP as the gateway. This way, all the traffic will flow trough the Proxmox server and can be routed to the correct interfaces. After rebooting the container the IP is reachable from the internet and the container can reach the internet. We've successfully attached our floating IP to the container.

KVM / Qemu

Qemu setup is basically the same, but you need to do the /etc/network/interfaces configuration manually, since Proxmox cannot write it there for you.

When you want to start a Qemu server, make sure to disable "KVM hardware virtualization" in the options of the server. Since Hetzner Cloud currently does not allow nested virtualization we cannot enable this module.

Conclusion

We've learned how to install Proxmox on Hetzner Cloud and attach a floating IP for a guest. This is something we can repeat for more guests if needed.

If you want to start running a hosting business on Hetzner Cloud, please checkout my product Proxmox Control Panel - Bennet Gallein IT Solutions .