Mindestens eine, aber zunehmend auch beide Methoden werden von gängigen Betriebssystemen unterstützt.
Beachten Sie, dass diese Merkmale orthogonal sind. Sie können beide gleichzeitig verwenden, wenn Sie möchten.
In einigen Betriebssystemen wird die MAC-Adresse (EUI-48) einfach nicht mehr für Schnittstellenkennungen verwendet. Stattdessen wird ein zufälliger oder hashbasierter Bezeichner verwendet, im Allgemeinen gemäß RFC 7217.
Windows verwendet ab Windows Vista standardmäßig ein benutzerdefiniertes Schema.
Führen Sie einen PowerShell-Befehl aus, um zu überprüfen, ob die Funktion aktiv ist:
Get-NetIPv6Protocol | fl RandomizeIdentifiers
So aktivieren / deaktivieren Sie die Funktion:
Set-NetIPv6Protocol -RandomizeIdentifiers Enabled
Set-NetIPv6Protocol -RandomizeIdentifiers Disabled
Linux (NetworkManager) unterstützt RFC 7217 ab NetworkManager 1.2.0, wobei die UUID des Verbindungsprofils als Teil des Seeds verwendet wird. Diese Funktion ist in neueren NM-Versionen standardmäßig aktiviert.
So aktivieren oder deaktivieren Sie diese Funktion:
nmcli con modify "<profilename>" ipv6.addr-gen-mode stable-privacy
nmcli con modify "<profilename>" ipv6.addr-gen-mode eui64
Linux (Kernel SLAAC) unterstützt RFC 7217 ab Kernel v4.1.0; Es muss jedoch manuell aktiviert werden, indem der geheime Startwert über sysctl gespeichert wird.
Der geheime Schlüssel ist eine 128-Bit-Hexadezimalzeichenfolge (in Form einer IPv6-Adresse), die im net.ipv6.conf.default.stable_secret
sysctl gespeichert werden muss . Um es dauerhaft zu machen, könnte es in /etc/sysctl.d/50-rfc7217.conf
oder ähnlich gesetzt werden:
net.ipv6.conf.default.stable_secret = 84a0:d5aa:52b0:4d35:k567:3aa6:7af5:474c
Durch das Setzen des Geheimnisses wird dieser Modus automatisch für alle Netzwerkschnittstellen aktiviert. Um zu überprüfen, ob die Funktion aktiv ist, suchen Sie in nach "addrgenmode stable_secret" ip -d link
oder in nach dem Wert "2" sysctl net.ipv6.conf.<ifname>.addr_gen_mode
.
Wie in RFC 4941 definiert, werden temporäre Datenschutzadressen nach dem Zufallsprinzip generiert und alle paar Stunden gewechselt.
Windows unterstützt temporäre Adressen ab Windows XP SP2.
So aktivieren / deaktivieren Sie diese Funktion:
netsh interface ipv6 set privacy state=enabled
netsh interface ipv6 set privacy state=disabled
Beachten Sie, dass Windows ab Windows Vista keine auf MAC-Adressen basierenden Primäradressen mehr verwendet.
Linux (NetworkManager) : Neuere Versionen von NetworkManager behandeln RA selbstständig, obwohl die beiden folgenden Werte mit sysctl identisch sind (2 = bevorzugte Datenschutzadresse, 1 = bevorzugte Hauptadresse):
nmcli con modify <name> ipv6.ip6-privacy 2
Auch als die 1.2.0 eine bessere Modus zur Verfügung steht , die die Änderungen Hauptadresse nicht mehr sein , MAC-basierte , sondern einzigartig für jedes Netzwerk (RFC 7217):
(Beachten Sie, dass die Adressierung des Datenschutzes orthogonal zum ADR-GEN-Modus ist; es ist möglich, beide zu verwenden.)
Randnotiz: Ab 1.4.0 erlaubt NM auch das Randomisieren der MAC-Adresse. Legen Sie fest wifi.cloned-mac-address
, stable
dass für jedes Netzwerk ein anderer MAC verwendet werden soll (empfohlen) oder random
dass für jede Verbindung ein zufälliger MAC verwendet werden soll (dies kann Probleme verursachen).
In allen Fällen <name>
muss der Verbindungsname sein, zB WiFi SSID oder "Wired Connection 1"
. Verwenden Sie, nmcli con
um alle aufzulisten .
Um dies zum Standard für neue Verbindungen zu machen, können Sie ab 1.2.0 Folgendes ändern /etc/NetworkManager/NetworkManager.conf
:
[connection]
ipv6.addr-gen-mode=stable-privacy
wifi.cloned-mac-address=stable
Linux (Kernel SLAAC) unterstützt temporäre Adressen, verwendet sie jedoch nicht standardmäßig. Sie können über sysctls aktiviert werden.
So aktivieren Sie temporäre Adressen und bevorzugen sie für ausgehende Verbindungen:
sysctl net.ipv6.conf.all.use_tempaddr=2
sysctl net.ipv6.conf.default.use_tempaddr=2
So aktivieren Sie die temporäre Adressgenerierung, behalten jedoch die bevorzugte statische SLAAC-Adresse bei:
sysctl net.ipv6.conf.all.use_tempaddr=1
sysctl net.ipv6.conf.default.use_tempaddr=1
Der all
oder default
Teil kann durch einen bestimmten Schnittstellennamen ersetzt werden. zB net.ipv6.conf.eth0.use_tempaddr
.
(Früher habe ich ip link set eth0 down && ip link set eth0 up
eine Adresszuweisung erzwungen, aber Sie können auch rdisc6 eth0
die nächste regelmäßige Router-Ankündigung ausführen oder nur einige Minuten warten.)
Mac OS X - standardmäßig aktiviert seit OS X 10.7 Lion:
sysctl -w net.inet6.ip6.use_tempaddr=1
Temporäre Adressen, falls aktiviert, werden bevorzugt.
FreeBSD :
sysctl net.inet6.ip6.use_tempaddr=1
sysctl net.inet6.ip6.prefer_tempaddr=1
NetBSD :
sysctl -w net.inet6.ip6.use_tempaddr=1
Präferenz für temporäre Adressen? Ich habe keine Ahnung. Die Autoconf-Adresse scheint bevorzugt zu sein. ifconfig
scheint keine Adresseigenschaften aufzulisten.
OpenBSD - Unterstützung in 5.2 hinzugefügt ; Standardmäßig aktiviert und bevorzugt in 5.3 .
ifconfig em0 autoconfprivacy
ifconfig
Zeigt "Autokonfivität" neben temporären Adressen an.
Wenn die Hardwareadresse in der IPv6-Adresse verwendet wird, bedeutet dies normalerweise, dass Ihr Netzwerk die zustandslose IPv6-Autokonfiguration verwendet. In diesem Fall können Sie einfach Ihr eigenes Adresssuffix auswählen und IPv6 manuell konfigurieren.
Auch wenn die manuell hinzugefügte Adresse keine Hardwareinformationen enthält, ist sie dennoch statisch (im Gegensatz zu Privacy Addressing, bei dem die Adressen von Zeit zu Zeit geändert werden). Statische Adressen können in einem Netzwerk mit mehr als 2-3 Geräten problematisch sein.