Privacy Extension wie beschrieben in RFC 4941 / Privacy Extensions for Stateless Address Autoconfiguration in IPv6 (Nachfolger von RFC 3041) ersetzt die statische Interface ID (mostly basierend auf der weltweit eindeutigen MAC-Adresse), die bei der Autokonfiguration benutzt wird, durch eine pseudo-random und von Zeit zu Zeit neu generierte.
Einschalten der Privacy Extension für z.B. Interface ”eth0” und zudem Präferieren dieser Adresse:
# sysctl -w net.ipv6.conf.eth0.use_tempaddr=2 |
Zur Aktivierung ist der Restart des Interfaces notwendig
# ip link set dev eth0 down # ip link set dev eth0 up |
Nach Empfang eines Router Advertisement sollte das Interface eine entsprechende Adresse sich selbst konfiguriert haben
# ip -6 addr show dev eth0 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000 inet6 2001:db8:0:1:8992:3c03:d6e2:ed72/64 scope global secondary dynamic <- pseudo-random IID valid_lft 604711sec preferred_lft 86311sec inet6 2001:db8:0:1::224:21ff:fe01:2345/64 scope global <- IID based on MAC valid_lft 604711sec preferred_lft 86311sec ... |
Für eine permanente Aktivierung muss entweder ein spezieller Initscript-Wert pro Interface gesetzt sein oder ein entsprechender Wert in /etc/sysctl.conf definiert werden:
net.ipv6.conf.eth0.use_tempaddr=2 |
Achtung: das Interface muss zu diesem Zeitpunkt bereits existieren. Wenn das nicht der Fall ist (z.B. nach einem Reboot) musses für alle Interfaces konfiguriert werden:
net.ipv6.conf.all.use_tempaddr=2 net.ipv6.conf.default.use_tempaddr=2 |
Die Änderungen in /etc/sysctl.conf können im laufenden Betrieb geändert werden, aber zur wirklichen Aktivierung wird mindestens wird ein Interface-Restart (down/up) oder ein Reboot benötigt.
# sysctl -p |
Moderne (Client-) Systeme nutzen NetworkManager zur Interface-Konfiguration. Ein Kommandozeilen-Werkzeug ist eingebaut welches auch Parameter ändern kann, die in der GUI nicht verfügbar (oder sichtbar) sind.
Beispiele basieren auf Version 0.9.9.1-5.git20140319.fc21
Prüfen existierender Interfaces mit:
# nmcli connection NAME UUID TYPE DEVICE ens4v1 d0fc2b2e-5fa0-4675-96b5-b723ca5c46db 802-3-ethernet ens4v1 |
Menge von IPv6-Adressen mit Privacy Extension:
# ip -o addr show dev ens4v1 | grep temporary | wc -l 0 |
Aktuelle Einstellung der IPv6 Privacy Extension für ein Interface:
# nmcli connection show ens4v1 |grep ip6-privacy ipv6.ip6-privacy: -1 (unknown) |
Aktivieren der IPv6 Privacy Extension und Restart des Interfaces;
# nmcli connection modify ens4v1 ipv6.ip6-privacy 2 # nmcli connection down ens4v1; nmcli connection up ens4v1 |
Neuer Wert der IPv6 Privacy Extension prüfen:
# nmcli connection show ens4v1 |grep ip6-privacy ipv6.ip6-privacy: 2 (active, prefer temporary IP) |
Nun sollten auch IPv6 Privacy Extension Adressen automatisch konfiguriert sein
# ip -o addr show dev ens4v1 | grep temporary | wc -l 2 |
Ob die IPv6-Adresss mit einer durch die Privacy Extension generierte Interface ID für ausgehende Verbindungen wirklich benutzt wird, kann z.B. mit Hilfe eines Web-Browers durch Aufruf von http://ip.bieringer.de/ durchgeführt werden. Wenn EUI64_SCOPE als Ausgabe ”iid-privacy” zeigt, dann funktioniert alles richtig.
Zurück | Zum Anfang | Weiter |
Automatische IPv6-Adress-Konfiguration | Nach oben | Konfiguration normaler IPv6-Routen |