NetworkManager/examples/nm-conf.d/30-anon.conf
2022-05-27 15:05:03 +02:00

80 lines
3.2 KiB
Plaintext

# Example configuration snippet for NetworkManager to
# overwrite some default value for more privacy.
# Drop this file for example to /etc/NetworkManager/conf.d/30-anon.conf
#
# See man NetworkManager.conf(5) for how default values
# work. See man nm-settings(5) for the connection properties.
#
#
# This enables some privacy setting by default. The defaults
# apply only to settings that do not explicitly configure
# a per-connection override.
# That means, if the connection profile has
#
# $ nmcli -f 'connection.stable-id,802-11-wireless.cloned-mac-address,802-11-wireless.mac-address-randomization,802-3-ethernet.cloned-mac-address,ipv4.dhcp-client-id,ipv6.addr-gen-mode,ipv6.dhcp-duid,ipv6.ip6-privacy' connection show "$CON_NAME"
# connection.stable-id: --
# 802-11-wireless.cloned-mac-address: --
# 802-11-wireless.mac-address-randomization: default
# 802-3-ethernet.cloned-mac-address: --
# ipv4.dhcp-client-id: --
# ipv6.addr-gen-mode: stable-privacy
# ipv6.dhcp-duid: --
# ipv6.ip6-privacy: -1 (unknown)
#
# then the default values are inherited and thus both the MAC
# address, IPv6 host identifier, and DHCP identifiers are randomized.
# Also, ipv6 private addresses (RFC4941) are used in
# addition.
#
#
# The connection's stable-id is really a token associated with the identity
# of the connection. It means, by setting it to different values, different
# addresses and DHCP options are generated.
# For some profiles it can make sense to reuse the same stable-id
# (and thus share MAC address and IPv6 host identifier) for the duration
# of the current boot, but still exclusive to the connection profile.
# Thus, explicitly set the stable-id like:
#
# $ nmcli connection modify "$CON_NAME" connection.stable-id '${CONNECTION}/${BOOT}'
#
# ... or keep it stable across reboots, but still distinct per profile:
#
# $ nmcli connection modify "$CON_NAME" connection.stable-id '${CONNECTION}'
#
# ... or use the same stable IDs for a bunch of profiles
#
# $ nmcli connection modify "$CON_NAME" connection.stable-id 'my-home-wifi yada yada'
#
# ... or use the same IDs for a bunch of profiles, but only for the current boot
#
# $ nmcli connection modify "$CON_NAME" connection.stable-id 'my-home-wifi yada yada/${BOOT}'
[device-30-anon]
wifi.scan-rand-mac-address=yes
[connection-30-anon]
connection.stable-id=${RANDOM}
ethernet.cloned-mac-address=stable
wifi.cloned-mac-address=stable
ipv6.ip6-privacy=2
# RFC 7844 "DHCP Anonymity Profiles" mandates in combination with
# MAC address randomization:
# connection.stable-id=${RANDOM}
# ethernet.cloned-mac-address=stable
# wifi.cloned-mac-address=stable
# ipv4.dhcp-client-id=mac
# ipv6.dhcp-duid=ll
# In case, the interface cannot use MAC address randomization,
# RFC 7844 recommends
# connection.stable-id=${RANDOM}
# ipv4.dhcp-client-id=stable
# ipv6.dhcp-duid=stable-llt
# See https://tools.ietf.org/html/rfc7844#section-3.5
# https://tools.ietf.org/html/rfc7844#section-4.3
#
# In this example however, the defaults are set to a stable identifier
# depending on the connection.stable-id.
ipv4.dhcp-client-id=stable
ipv6.dhcp-duid=stable-uuid