IPv6 über DHCP an KVM Gäste verteilen

It’s magic.

# cat /etc/network/interfaces
### Hetzner Online AG - installimage
# Loopback device:
auto lo
iface lo inet loopback
 
# device: eth0
auto  eth0
iface eth0 inet static
  address   XXX.XXX.XXX.131
  broadcast XXX.XXX.XXX.191
  netmask   255.255.255.192
  gateway   XXX.XXX.XXX.129
  # default route to access subnet
  up route add -net XXX.XX.XXX.128 netmask 255.255.255.192 gw XXX.XXX.XXX.129 eth0
 
iface eth0 inet6 static
  address 2a01:AAA:AAA:AAA::1
  netmask 128
  gateway fe80::1
# Enable forwarding
    pre-up echo 1 > /proc/sys/net/ipv6/conf/default/forwarding
    pre-up echo 1 > /proc/sys/net/ipv6/conf/all/forwarding
# But disable forwarding on THIS interface so we still get RAs
    pre-up echo 0 > /proc/sys/net/ipv6/conf/eth0/forwarding
    pre-up echo 1 > /proc/sys/net/ipv6/conf/eth0/accept_ra
    pre-up echo 1 > /proc/sys/net/ipv6/conf/all/accept_ra
    pre-up echo 1 > /proc/sys/net/ipv6/conf/default/accept_ra
 
auto br0
iface br0 inet6 static
  pre-up brctl addbr br0
  post-down brctl delbr br0
  bridge_stp off
  address 2a01:AAA:AAA:AAA::1
  netmask 64

Die pre-up echo’s sind ein workaround, da nur entweder accept_ra ODER forwarding funktioniert. Genaueres findet man hier.

Als DHCP habe ich den wide-dhcp6-server genommen.

#cat /etc/wide-dhcpv6/dhcp6s.conf
option domain-name-servers 2a01:4f8:0:a0a1::add:1010;
option domain-name-servers 2a01:4f8:0:a111::add:9898;
option domain-name-servers 2a01:4f8:0:a102::add:9999;
 
interface br0 {
        address-pool pool1 3600;
};
 
pool pool1 {
        range 2a01:AAA:AAA:AAAA::0000 to 2a01:AAA:AAA:AAAA::ffff;
};

Damit die auto_ra funktioniert, setzte ich radvd ein, mit dieser Konfig:

interface br0
{
        AdvManagedFlag on;
        MinRtrAdvInterval 3;
        MaxRtrAdvInterval 10;
        AdvSendAdvert on;
 
  prefix 2a01:AAA:AAA:AAA::/64
  {
                AdvOnLink on;
                AdvAutonomous on;
                AdvRouterAddr on;
  };
};

Bei der Umsetzung hat mir dieser Wiki Eintrag bei Hetzner geholfen.