#996804 NetworkManager reverts to EUI-64 addresses after Bullseye upgrade

Package:
network-manager
Source:
network-manager
Description:
network management framework (daemon and userspace tools)
Submitter:
"Michael J. Redd"
Date:
2022-02-19 16:36:03 UTC
Severity:
normal
Tags:
#996804#5
Date:
2021-10-19 02:25:07 UTC
From:
To:
I'm running a Debian system on a LAN segment configured to assign IPv6
addresses via SLAAC. After upgrading from Buster to Bullseye,
NetworkManager starts the system with an IPv6 stable-privacy address as
usual. However, after some time (possibly during address renewal), a
standard EUI-64 address with the "mngtmpaddr" flag is created in
addition and this address takes precedence (i.e. new connections
originate from this EUI-64 address).

The sysctl values for this are, I assume, default, as I have not
changed them:

$ sudo sysctl -a | grep use_tempaddr
net.ipv6.conf.all.use_tempaddr = 0
net.ipv6.conf.default.use_tempaddr = 0
net.ipv6.conf.eno1.use_tempaddr = 0
net.ipv6.conf.lo.use_tempaddr = -1

As is NetworkManager's config:

$ nmcli conn show "Ifupdown (eno1)" | grep addr-gen-mode
ipv6.addr-gen-mode:                     stable-privacy

Restarting the NetworkManager service and bringing the interface down,
then up, resets everything back to the expected stable-privacy
addresses.

In case it could be relevant, the Ethernet controller being used on
this system is an Intel I219-V. The latest point release kernel as of
this writing (5.10.0-9-amd64/5.10.70-1) is also being used.

#996804#10
Date:
2021-12-18 20:28:07 UTC
From:
To:
Workaround/ solution:

Commented out the `inet6 auto` stanza for the interface in
/etc/network/interfaces and now it keeps a stable private address as
expected. NetworkManager always seemed to yield to ifup/down (or
perhaps the reverse) in prior versions of Debian, so I hadn't thought
to check there until now.

#996804#15
Date:
2022-02-19 16:33:13 UTC
From:
To:
Hi Michael

Just something which caught my eye:


"Ifupdown (eno1)" most likely means that you use managed=true i.e. the
ifupdown parser which is notoriously bad.

I do not recommend its usage since it is buggy and incomplete. Instead I
strongly suggest you remove any configuration from
/etc/network/interfaces and use the native keyfile format instead.

At some point I should remove managed=true mode.