So, yesterday I made an unexpected mistake by configuring SLAAC on my Proxmox instance, using the following configuration:
According to Debian this is the way of configuring SLAAC, if you want to use DHCPv6 you need to use `dhcp` instead of `auto`.
But, to my surprise, the machine never came back. V4 became pingable, but that was it. As this was a machine without graphical console and the serial console seemingly doing nothing, I needed to go to the DC to find out what was happening, to only be greeted by a "Loading initial ramdisk". Luckily recovery mode exists, and by commenting out the `inet6 auto` line the machine came back to life.
So, what happened? Instead of using SLAAC as configured, it started a dhclient instance for v6 that just continued without messages and without timeout (it did so for about 18 hours).
So, from my point of view, the following would be good to have for Proxmox VE:
Code:
auto vmbr0
iface vmbr0 inet dhcp
bridge-ports eno1
bridge-stp off
bridge-fd 0
iface vmbr0 inet6 auto
According to Debian this is the way of configuring SLAAC, if you want to use DHCPv6 you need to use `dhcp` instead of `auto`.
But, to my surprise, the machine never came back. V4 became pingable, but that was it. As this was a machine without graphical console and the serial console seemingly doing nothing, I needed to go to the DC to find out what was happening, to only be greeted by a "Loading initial ramdisk". Luckily recovery mode exists, and by commenting out the `inet6 auto` line the machine came back to life.
So, what happened? Instead of using SLAAC as configured, it started a dhclient instance for v6 that just continued without messages and without timeout (it did so for about 18 hours).
Code:
2024-11-03T20:18:18.245486+01:00 hyp16 info: executing /sbin/dhclient -6 -x -pf /run/dhclient6.vmbr0.pid -lf /var/lib/dhcp/dhclient6.vmbr0.leases vmbr0
2024-11-03T20:18:18.247527+01:00 hyp16 dhclient[759]: Can't bind to dhcp address: Cannot assign requested address
2024-11-03T20:18:18.247654+01:00 hyp16 dhclient[759]: Please make sure there is no other dhcp server
2024-11-03T20:18:18.247746+01:00 hyp16 dhclient[759]: running and that there's no entry for dhcp or
2024-11-03T20:18:18.247843+01:00 hyp16 dhclient[759]: bootp in /etc/inetd.conf. Also make sure you
2024-11-03T20:18:18.247943+01:00 hyp16 dhclient[759]: are not running HP JetAdmin software, which
2024-11-03T20:18:18.247997+01:00 hyp16 dhclient[759]: includes a bootp server.
2024-11-03T20:18:18.248024+01:00 hyp16 dhclient[759]:
2024-11-03T20:18:18.248072+01:00 hyp16 dhclient[759]: If you think you have received this message due to a bug rather
2024-11-03T20:18:18.248116+01:00 hyp16 dhclient[759]: than a configuration issue please read the section on submitting
2024-11-03T20:18:18.248141+01:00 hyp16 dhclient[759]: bugs on either our web page at www.isc.org or in the README file
2024-11-03T20:18:18.248166+01:00 hyp16 dhclient[759]: before submitting a bug. These pages explain the proper
2024-11-03T20:18:18.248194+01:00 hyp16 dhclient[759]: process and the information we find helpful for debugging.
2024-11-03T20:18:18.248222+01:00 hyp16 dhclient[759]:
2024-11-03T20:18:18.248245+01:00 hyp16 dhclient[759]: exiting.
2024-11-03T20:18:19.248120+01:00 hyp16 info: executing /bin/ip -6 addr show vmbr0
2024-11-03T20:18:19.249782+01:00 hyp16 info: executing /sbin/dhclient -6 -pf /run/dhclient6.vmbr0.pid -lf /var/lib/dhcp/dhclient6.vmbr0.leases vmbr0
2024-11-03T20:18:19.256766+01:00 hyp16 dhclient[764]: Created duid "\000\001\000\001.\272\210\373\020\2306\241cu".
2024-11-03T20:18:20.047477+01:00 hyp16 dhclient[764]: XMT: Solicit on vmbr0, interval 1080ms.
2024-11-03T20:18:21.128756+01:00 hyp16 dhclient[764]: XMT: Solicit on vmbr0, interval 2210ms.
2024-11-03T20:18:23.341040+01:00 hyp16 dhclient[764]: XMT: Solicit on vmbr0, interval 4240ms.
2024-11-03T20:18:27.585417+01:00 hyp16 dhclient[764]: XMT: Solicit on vmbr0, interval 8510ms.
2024-11-03T20:18:36.099548+01:00 hyp16 dhclient[764]: XMT: Solicit on vmbr0, interval 16300ms.
2024-11-03T20:18:52.415929+01:00 hyp16 dhclient[764]: XMT: Solicit on vmbr0, interval 31950ms.
2024-11-03T20:19:24.376265+01:00 hyp16 dhclient[764]: XMT: Solicit on vmbr0, interval 61670ms.
2024-11-03T20:20:26.108041+01:00 hyp16 dhclient[764]: XMT: Solicit on vmbr0, interval 112490ms.
2024-11-03T20:22:18.698150+01:00 hyp16 dhclient[764]: XMT: Solicit on vmbr0, interval 122470ms.
2024-11-03T20:24:21.268288+01:00 hyp16 dhclient[764]: XMT: Solicit on vmbr0, interval 118310ms.
etc. etc. etc.
So, from my point of view, the following would be good to have for Proxmox VE:
- Don't use DHCPv6 when not configured to do so.
- Use a timeout for DHCPv6. If no address is found within an acceptable timeframe, continue to the login so at least you can access your configuration without needing recovery mode. I believe a timeout is already used for DHCP for IPv4, falling back to a self-assigned IP-address.
Last edited: