Ein weiterer wichtiger Punkt war bei meinem Hetzner-Root-Server noch offen. Der Server und die VMs waren zwar alle per IPv4 erreichbar. Allerdings reicht das heutzutage ja eigentlich nicht mehr so wirklich. Die VMs und Dienste mussten also auch noch per IPv6 erreichbar gemacht werden.
Standardmäßig bekommt man von Hetzner ein /64 Netz zu dem Server dazu. Von der reinen Anzahl der verfügbaren Adressen (18 446 744 073 709 551 616) wäre das natürlich mehr als ausreichend. Man könnte das /64 zum Beispiel in 64x /70 splitten, das erste /70 auf dem Host-Interface lassen und weitere auf die VM-Bridges verteilen. Das Problem dabei ist nur, dass die automatische Konfiguration per SLAAC nur bei einer Mindestgröße von /64 klappt.
Gegen eine einmalige Gebühr von 49€ hat man bei Hetzner allerdings die Möglichkeit sich ein /56 zusätzlich auf den Server routen zu lassen. Aus diesem wiederum kann man 256 einzelne /64 Netze machen. Und damit hat man natürlich absolut genug Netze und kann für die VMs auf die Autokonfiguration per SLAAC zurück greifen.

Die eigentliche Konfiguration ist dann ziemlich easy. Man nimmt das /56, teilt es in /64 Netze auf und gibt der jeweiligen Bridge ein /64, bzw eine Adresse daraus. Auszug aus der Netplan-Config:

    vbr123-nic:
      interfaces: []
    vbr123:
      addresses:
        - 172.27.123.1/24
        - 2a01:04f8:0160:5523::2/64
      interfaces: [vbr123-nic]
      routes:
        - to: 148.251.223.123/32
          scope: link
    vbr124-nic:
      interfaces: []
    vbr124:
      addresses:
        - 172.27.124.1/24
        - 2a01:04f8:0160:5524::2/64
      interfaces: [vbr124-nic]
      routes:
        - to: 148.251.223.124/32
          scope: link

Damit die Autokonfiguration nun auch funktioniert braucht man auf dem Host noch den radvd der im Netz per Router Adverstisments den VMs das Netz und die Gateway-Adresse verteilt.

root@kvm02 ~ # cat /etc/radvd.conf
interface vbr123 {
	AdvSendAdvert on;
	prefix 2a01:04f8:0160:5523::/64
	{
		AdvOnLink on;
        	AdvAutonomous on;
		AdvRouterAddr on;
	};
	route ::/0
	{
	};
};

interface vbr124 {
	AdvSendAdvert on;
	prefix 2a01:04f8:0160:5524::/64
	{
		AdvOnLink on;
        	AdvAutonomous on;
		AdvRouterAddr on;
	};
	route ::/0
	{
	};
};

Das ist eigentlich auch soweit alles, was man braucht um IPv6 Adressen auf den VMs zu haben. Natürlich sollte man hier nun auch wieder die Firewall anpassen/konfigurieren. Hierfür verwendet man ip6tables was ansonsten komplett wie iptables zu nutzen ist.