Hi,
I just performed the commit at [1]. This switches the recently added
"net.inet6.ip6.use_stableaddr" sysctl to on by default, causing all new
IPv6 interfaces configured to get SLAAC addresses to not derive their
addresses from the MAC address but using an implementation of the
algorithm suggested by RFC 7217.
This is similar to the defaults on most other operating systems.
Such addresses are derived by various information on the system so as to
be stable for the single host(OS installation) being attached to the
same network, but making it near to impossible to track hosts between
networks, or exposing the MAC address.
The consequence of this is that hosts configured to use SLAAC addresses
on IPv6 interfaces will experience an IP change when upgrading across
this change.
While I'd suggest to adjust to such a change, considering the privacy
implications, if strictly needed the change can be prevented in two ways:
- Set the net.inet6.ip6.use_stableaddr sysctl to 0 via loader. This is
required since the sysctl needs to be set before any interface are created.
- set the "-stableaddr" via sysctl, for example in rc.conf.
As a sidenote I plan to MFC the relevant code to stable/15, but keep the
default for the sysctl to off there.
[1] a2eb0894b79bd0241e51c6888a52bea369ae8a6a
--
Guido Falsi <[email protected]>