The networkd documentation describes the following network configuration options:
Network.DHCP
. Possible values yes
, ipv4
, ipv6
, and no
. Default no
.
DHCPv6 will by default be triggered by Router Advertisements, if reception is enabled, regardless of this parameter. By explicitly enabling DHCPv6 support here, the DHCPv6 client will be started in the mode specified by the WithoutRA= setting in the [DHCPv6] section, regardless of the presence of routers on the link, or what flags the routers pass.
DHCPv6.WithoutRA
. Possible values solicit
, information-request
, and no
. Default no
.
Allows DHCPv6 client to start without router advertisements's "managed" or "other configuration" flag...defaults to "no", and the DHCPv6 client will be started when an RA is received.
IPv6AcceptRA.DHCPv6Client
. Possible values always
, true
, and false
. Default true
.
When true, the DHCPv6 client will be started in "solicit" mode if the RA has the "managed" flag or "information-request" mode if the RA lacks the "managed" flag but has the "other configuration" flag. If set to "always", the DHCPv6 client will be started in "solicit" mode when an RA is received, even if neither the "managed" nor the "other configuration" flag is set in the RA. This will be ignored when WithoutRA= in the [DHCPv6] section is enabled
It also gives the following example:
[Match]
Name=enp1s0
[Network]
DHCP=ipv6
# The below setting is optional, to also assign an address in the delegated prefix
# to the upstream interface. If not necessary, then comment out the line below and
# the [DHCPPrefixDelegation] section.
DHCPPrefixDelegation=yes
# If the upstream network provides Router Advertisement with Managed bit set,
# then comment out the line below and WithoutRA= setting in the [DHCPv6] section.
IPv6AcceptRA=no
[DHCPv6]
WithoutRA=solicit
[DHCPPrefixDelegation]
UplinkInterface=:self
SubnetId=0
Announce=no
What exactly is the difference between Network.DHCP
, DHCPv6.WithoutRA
, and IPv6AcceptRA.DHCPv6Client
? How do they interact?