You are not logged in.

#1 2022-01-19 19:13:07

bruceg
Member
Registered: 2021-08-11
Posts: 13

NetworkManager not accepting DHCP6 addresses

I am running a home network where I have set up an IPv6 "unique local address" subnet. Since upgrading and rebooting my laptop last week, it is no longer accepting the IPv6 ULA that the router/DHCP server is assigning it. It still sets up an IPv6 address for the public address the router is advertising (via SLAAC), as well as the IPv4 address from the DHCP server, but not the ULA. All the other hosts on the same network that I have checked are still accepting the ULA, so I don't think it's something with the DHCP server. tcpdump shows the DHCP server providing the appropriate address in the DHCP6 reply.

This seems likely to be related to the upgrade of networkmanager from 1.32 to 1.34 that I did last week, but I don't see anything in the release notes for that upgrade that sounds related.

`journactl -u NetworkManager` shows this:

Jan 18 21:58:54 rangerone NetworkManager[763]: <info>  [1642564734.1352] device (enp5s0f3u1u2): Activation: starting connection 'Wired connection 2' (36d1d558-3a84-36a0-820d-331f07063323)
Jan 18 21:58:54 rangerone NetworkManager[763]: <info>  [1642564734.1353] device (enp5s0f3u1u2): state change: disconnected -> prepare (reason 'none', sys-iface-state: 'managed')
Jan 18 21:58:54 rangerone NetworkManager[763]: <info>  [1642564734.1354] device (enp5s0f3u1u2): state change: prepare -> config (reason 'none', sys-iface-state: 'managed')
Jan 18 21:58:54 rangerone NetworkManager[763]: <info>  [1642564734.1357] device (enp5s0f3u1u2): state change: config -> ip-config (reason 'none', sys-iface-state: 'managed')
Jan 18 21:58:54 rangerone NetworkManager[763]: <info>  [1642564734.1359] dhcp4 (enp5s0f3u1u2): activation: beginning transaction (timeout in 45 seconds)
Jan 18 21:58:56 rangerone NetworkManager[763]: <info>  [1642564736.1612] dhcp4 (enp5s0f3u1u2): state changed unknown -> bound, address=192.168.1.184
Jan 18 21:58:56 rangerone NetworkManager[763]: <info>  [1642564736.1627] device (enp5s0f3u1u2): state change: ip-config -> ip-check (reason 'none', sys-iface-state: 'managed')
Jan 18 21:58:56 rangerone NetworkManager[763]: <info>  [1642564736.1632] dhcp6 (enp5s0f3u1u2): activation: beginning transaction (timeout in 45 seconds)
Jan 18 21:58:56 rangerone NetworkManager[763]: <info>  [1642564736.1635] policy: set 'Wired connection 2' (enp5s0f3u1u2) as default for IPv4 routing and DNS
Jan 18 21:58:56 rangerone NetworkManager[763]: <info>  [1642564736.1649] policy: set 'Wired connection 2' (enp5s0f3u1u2) as default for IPv6 routing and DNS
Jan 18 21:58:56 rangerone NetworkManager[763]: <info>  [1642564736.1654] device (enp5s0f3u1u2): state change: ip-check -> secondaries (reason 'none', sys-iface-state: 'managed')
Jan 18 21:58:56 rangerone NetworkManager[763]: <info>  [1642564736.1655] device (enp5s0f3u1u2): state change: secondaries -> activated (reason 'none', sys-iface-state: 'managed')
Jan 18 21:58:56 rangerone NetworkManager[763]: <info>  [1642564736.1656] manager: NetworkManager state is now CONNECTED_SITE
Jan 18 21:58:56 rangerone NetworkManager[763]: <info>  [1642564736.1658] device (enp5s0f3u1u2): Activation: successful, device activated.
Jan 18 21:58:56 rangerone NetworkManager[763]: <info>  [1642564736.5236] manager: NetworkManager state is now CONNECTED_GLOBAL
Jan 18 21:59:41 rangerone NetworkManager[763]: <warn>  [1642564781.4286] dhcp6 (enp5s0f3u1u2): request timed out
Jan 18 21:59:41 rangerone NetworkManager[763]: <info>  [1642564781.4286] dhcp6 (enp5s0f3u1u2): state changed unknown -> timeout

Any ideas what might be going on here?

Last edited by bruceg (2022-01-19 19:13:45)

Offline

#2 2022-01-19 21:14:21

-thc
Member
Registered: 2017-03-15
Posts: 496

Re: NetworkManager not accepting DHCP6 addresses

I have a similar setup to yours and my Arch PC with NetworkManager 1.34 behaves exactly as before - with ULA addresses.

I'm a little confused by your different statements. DHCP (DHCPv4) is independent of DHCPv6. It must be another process/server. DHCPv6 can be configured to provide addresses - but doesn't need to. SLAAC will provide all IPv6 addresses - including ULA.

Offline

#3 2022-01-19 23:12:38

bruceg
Member
Registered: 2021-08-11
Posts: 13

Re: NetworkManager not accepting DHCP6 addresses

Thanks for your reply. I am running dnsmasq on my router, and it is providing both DHCPv4 and DHCPv6 service. The addresses on the ULA range are assigned using this to provide more easily readable/memorable addresses.

Offline

#4 2022-01-20 07:02:04

-thc
Member
Registered: 2017-03-15
Posts: 496

Re: NetworkManager not accepting DHCP6 addresses

Sorry - but there's still a lot to clear up.

In a SLAAC/DHCPv6 environment you have to decide what is served and how:

1. pure SLAAC
2. SLAAC with DNS via RA (router advertisement / RFC 5006)
3. SLAAC (prefixes/addresses) with DHCPv6 for non-address info (DNS, NTP)
4. DHCPv6 providing all info with SLAAC as a backup for non-DHCPv6 hosts
5. DHCPv6 without SLAAC

I only use dnsmasq in virtual software router environments without IPv6 (providing DHCPv4 and DNS/IPv4). After looking into dnsmasq.conf I realized dnsmasq will additionally act as an IPv6 routing advertising daemon (providing the same functionality and replacing radvd).

For DHCPv6 (numbers 4 an 5 above) to work, your public IPv6 address prefix (2...) must be static (how should dnsmasq "know" changing public prefixes?). dnsmasq must be the only one providing RAs and thus must provide both prefixes (public and ULA).

Offline

#5 2022-01-21 20:29:28

bruceg
Member
Registered: 2021-08-11
Posts: 13

Re: NetworkManager not accepting DHCP6 addresses

Since you are familiar with dnsmasq, I have uploaded my config files to demonstrate what I have configured. I've stripped out comments and a bunch of "address=" lines that aren't really relevant here. If I'm doing something wrong (other than the obviously-not-random ULA prefix), I'd be interested to understand this better. However, this is and has been working for every host except for my recently upgraded laptop.

Offline

#6 2022-01-22 17:27:45

-thc
Member
Registered: 2017-03-15
Posts: 496

Re: NetworkManager not accepting DHCP6 addresses

Most of the statements are O.K. - some of them make no sense and some are wrong (but dnsmasq indulges them).

You have configured stateful DHCPv6 without SLAAC for your ULA range. AFAIK DHCPv6 does not work with MAC addresses as identifiers, but with DHCP UIDs (DUID). There is no easy way to determine the DUID a host uses for the request (there are four different DUID methods...). Which is the reason why I never used stateful DHCPv6.

Offline

Board footer

Powered by FluxBB