NetworkManager and DHCPv6
tl;dr NetworkManager
method=dhcp
is deprecated and should not be used.
I recently had an issue with a host on my network not getting a IPv6 default route when using DHCP. The host is running Fedora 36 which uses NetworkManager to manage network connections. I wanted the host to have a static IP, but configured via a DHCP static lease rather than manually. I ended up configuring the network connection with option method=dhcp
after finding a post online with example config. But the result was no IPv6 network connectivity for this host due to missing default route.
After quite a bit of messing about trying to work out why, I stumbled on this post which explains the problem. At some point method=dhcp
was deprecated, and in fact is no longer mentioned in the reference doco.
The correct way to achieve what I wanted to do is to set method=auto
on the client. Then on the router, ensure that IPv6 config on the interface connected to the host (LAN) is set so the M
flag is sent in router advertisements. This tells the client that a DHCP server is managing IP addresses and to initiate a DHCP solicitation. The end results is the client will have two IPv6 addresses - one via SLAAC, and another via DHCP.