Ipv6 route gets invalidated but not renewed

OK can you show the output of on your host (not container):

ps aux | grep dnsmasq
asbachb@ubuntu-8gb-nbg1-1:~$ ps aux | grep dnsmasq
lxd         5388  0.0  0.0  43628  3624 ?        Ss   14:56   0:00 dnsmasq --keep-in-foreground --strict-order --bind-interfaces --except-interface=lo --no-ping --interface=lxdbr0 --quiet-dhcp --quiet-dhcp6 --quiet-ra --listen-address=10.254.210.1 --dhcp-no-override --dhcp-authoritative --dhcp-leasefile=/var/snap/lxd/common/lxd/networks/lxdbr0/dnsmasq.leases --dhcp-hostsfile=/var/snap/lxd/common/lxd/networks/lxdbr0/dnsmasq.hosts --dhcp-range 10.254.210.2,10.254.210.254,5m --listen-address=2a01:4f8:xxxx:xxxx::1 --enable-ra --dhcp-range 2a01:4f8:xxxx:xxxx::2,2a01:4f8:xxxx:xxxx::ff,120,5m -s lxd -S /lxd/ --conf-file=/var/snap/lxd/common/lxd/networks/lxdbr0/dnsmasq.raw -u lxd

Is it possible to get a login to that system?

For future reference the issue here is that the OP was using an IPv6 subnet size less than /64 for their lxdbr0 interface. dnsmasq does not support using a subnet smaller than /64 for router advertisements apparently.

The docs say:

β€œThe minimum size of the prefix length is 64.”

http://www.thekelleys.org.uk/dnsmasq/docs/dnsmasq-man.html

Have recommended using routed NIC type for situations where the ISP only provides a single /64.

NOTE: This solution works for Hetzner Cloud Instance. This is UNTESTED on dedicated servers.

With the glad help of @tomp we figured out another solution:

  1. Move the eth0 subnet from /64 to /128
asbachb@ubuntu-8gb-nbg1-1:~$ cat /etc/netplan/50-cloud-init.yaml 
# This file is generated from information provided by the datasource.  Changes
# to it will not persist across an instance reboot.  To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
    version: 2
    ethernets:
        eth0:
            addresses:
            - 2a01:4f8:xxxx:xxxx::1/128 #Previously 2a01:4f8:xxxx:xxxx::1/64
            dhcp4: true
            gateway6: fe80::1
            match:
                macaddress: xx:xx:xx:xx:xx:xx
            set-name: eth0
  1. Assign /64 subnet to lxdbr0
asbachb@ubuntu-8gb-nbg1-1:~$ lxc network show lxdbr0 
config:
  ipv4.address: 10.254.210.1/24
  ipv4.nat: "true"
  ipv6.address: 2a01:4f8:xxxx:xxxx::2/64
description: ""
name: lxdbr0
type: bridge
used_by:
 - none
managed: true
status: Created
locations:
- none
2 Likes