Routed Network Configuration with IPv6 Subnet (Hetzner)

sachsenspielt

New Member
Sep 9, 2025
3
0
1
Good evening (or morning),

After days of testing and configuring my Proxmox instance, I'm still experiencing issues. I've rented a Hetzner dedicated server which comes with an IPv4 address (which I want to use for my host) and an IPv6 /64 subnet (which I want to use for my host and containers).

What do I want to achieve?

88.99.218.170 -> IP address for the host

2a01:4f8:10a:4395::2 -> IP address for the host

2a01:4f8:10a:4395::<container ID> -> IP address for containers.

I feel like I've read every tutorial or blog post online, but nothing seems to work quite right. Since Hetzner doesn't allow MAC addresses to be registered for IPv6 IPs, I need a routed approach so that all the traffic goes to the MAC address of the hardware NIC.

This is the configuration that I built using all the tutorials on the internet, but it doesn't work:

Code:
cat /etc/network/interfaces
# network interface settings; autogenerated
# Please do NOT modify this file directly, unless you know what
# you're doing.
#
# If you want to manage parts of the network configuration manually,
# please utilize the 'source' or 'source-directory' directives to do
# so.
# PVE will preserve these directives, but will NOT read its network
# configuration from sourced files, so do not attempt to move any of
# the PVE managed interfaces into external files!

source /etc/network/interfaces.d/*

auto lo
iface lo inet loopback

iface lo inet6 loopback

auto enp0s31f6
iface enp0s31f6 inet static
        address 88.XX.218.XXX/26
        gateway 88.XX.218.XXX

iface enp0s31f6 inet6 static
        address 2a01:XXX:10a:XXXX::2/64
        gateway fe80::1

auto vmbr0
iface vmbr0 inet6 static
        address 2a01:XXX:10a:XXXX::3/64
        bridge-ports none
        bridge-stp off
        bridge-fd 0
        up ip -6 route add 2a01:XXX:10a:XXXX::/64 dev vmbr0

Code:
cat /etc/pve/lxc/100.conf
arch: amd64
cores: 2
features: nesting=1
hostname: ****************
memory: 1024
net0: name=eth0,bridge=vmbr0,firewall=1,gw6=2a01:XXX:10a:XXXX::3,hwaddr=BC:24:11:65:9E:9D,ip6=2a01:XXX:10a:XXXX::100/64,type=veth
ostype: debian
rootfs: local:100/vm-100-disk-0.raw,size=10G
swap: 512
unprivileged: 1


Can anyone help me out here? Please forgive me if I have overlooked any forum posts or tutorials, but I am currently feeling completely helpless.
I would appreciate any help. Thanks!
 
Last edited:
After some fighting with ChatGPT it now seems to work.
Code:
cat /etc/network/interfaces
# network interface settings; autogenerated
# Please do NOT modify this file directly, unless you know what
# you're doing.
#
# If you want to manage parts of the network configuration manually,
# please utilize the 'source' or 'source-directory' directives to do
# so.
# PVE will preserve these directives, but will NOT read its network
# configuration from sourced files, so do not attempt to move any of
# the PVE managed interfaces into external files!

source /etc/network/interfaces.d/*

auto lo
iface lo inet loopback

iface lo inet6 loopback

auto enp0s31f6
iface enp0s31f6 inet static
        address 88.XX.218.XXX/26
        gateway 88.XX.218.XXX

iface enp0s31f6 inet6 static
        address 2a01:XXX:10a:XXXX::2/128
        gateway fe80::1

auto vmbr0
iface vmbr0 inet manual
    bridge-ports none
    bridge-stp off
    bridge-fd 0

# IPv6 Routing Setup
iface vmbr0 inet6 static
    address 2a01:XXX:10a:XXXX::1/64


It seems like, the `/etc/sysctl.conf` gets overriden by proxmox/hetzner on boot. Just make all the changes in `/etc/sysctl.d/99-ipv6-forwarding.conf` e.g.
My config:

Code:
cat /etc/sysctl.d/99-ipv6-forwarding.conf
net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1
net.ipv6.conf.all.proxy_ndp=1
net.ipv6.conf.default.proxy_ndp=1