Privacy Extensions
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Ubuntu 20.04 Focal Fossa
Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
Die große Anzahl an nutzbaren Adressen unter IPv6 ermöglichen es, dass jedes Gerät eine eigene, öffentlich geroutete, Adresse erhält. NAT findet nicht statt. Die meisten Privatkunden-ISPs teilen ihren Kunden in regelmäßigen Abständen ein neues Präfix zu, sodass sich die vorderen 64 Bit ändern. Die hinteren 64 Bit wurden in der Vergangenheit standardmäßig anhand der MAC-Adresse festgelegt, welche eine Eigenschaft der Netzwerkkarte ist und daher gleich bleibt (modified EUI-64). Dadurch wäre eine Rechner trotz geändertem Präfix identifizierbar. Die „IPv6 Privacy Extensions“ (RFC 4941 🇬🇧) sollen hier Abhilfe schaffen, indem der Interface-Identifier zufällig generiert wird.
Funktionsweise¶
Sind die Privacy Extensions aktiviert, so erzeugen sie zu den bereits existierenden IP-Adressen eine weitere Adresse je Präfix und Netzwerkschnittstelle. Diese zusätzliche Adresse wird zufällig erzeugt hat nur eine bestimmte Lebensdauer, während derer sie für die Kommunikation genutzt wird. Läuft die Lebenszeit ab, so wird wieder eine neue Adresse generiert und für die Kommunikation genutzt, während die bisherige noch eine Zeit aktiv bleibt, um eventuell noch eingehende Netzwerkpakete empfangen zu können. Dies kann man anhand von valid_lft
und preferred_lft
erkennen.
Somit existiert die auf Basis der MAC-Adresse generierte IP-Adresse zwar weiter, kommt jedoch letztlich nicht zum Einsatz.
Konfiguration¶
Achtung!
Dieser Abschnitt beschreibt die Konfiguration über Kernel-Variablen, welche vom NetworkManager im Normalfall überschrieben werden. Ist der NetworkManager für die Verbindung aktiv, sind die Privacy Extensions standardmäßig aktiviert und über diesen zu konfigurieren.
Beginnend mit Ubuntu 12.04 LTS sind die Privacy Extensions von Haus aus aktiviert. Die entsprechende Konfigurationsdatei ist /etc/sysctl.d/10-ipv6-privacy.conf.
In der Standardkonfiguration beträgt die maximale Lebensdauer einer IP-Adresse 7200 Sekunden (2 Stunden), die Dauer, während der sie aktiv genutzt bevorzugt wird, 3600 Sekunden (1 Stunde). Möchte man die Lebensdauer der temporären Adressen ändern, so kann man die entsprechenden Optionen (siehe unten) ebenfalls in dieser Datei ablegen.
Wurde die Datei erstellt, muss man noch dafür sorgen, dass die neue Konfiguration auch aktiviert wird. Dies kann mittels eines Neustarts geschehen, eleganter ist es jedoch, die Konfiguration mit folgendem Befehl neu einzulesen:
sudo sysctl -p /etc/sysctl.d/10-ipv6-privacy.conf
Optionen¶
Die Einstellmöglichkeiten der Privacy Extensions sind recht übersichtlich.
Option | Beschreibung |
net.ipv6.conf.all.use_tempaddr | 0 = Privacy Extensions nicht aktiv 1 = temporäre Adresse bereitstellen 2 = temporäre Adresse bereitstellen und aktiv nutzen |
net.ipv6.conf.all.temp_prefered_lft | Dauer in Sekunden, wie lange die Adresse anderen vorgezogen wird |
net.ipv6.conf.all.temp_valid_lft | Dauer in Sekunden, wie lange die Adresse vorhanden ist |
all
wurde als Bezeichner für die Netzwerkschnittstelle in diesen Beispielen eingesetzt, es sind die folgenden Varianten möglich:
default
- Bezeichner für neue Schnittstellenall
- Bezeichner für alle Schnittstelleneth0
,eth1
,wlan0
,wifi0
usw - Bezeichnung einer spezifischen Netzwerkschnittstelle
Werden vom Standard abweichende Konfigurationen gesetzt, so wird empfohlen jede Option jeweils mit default und all einzufügen.
Beispiel¶
Die vorhanden IPv6-Adressen lassen sich mit folgendem Befehl prüfen:
ip -6 addr
Die Ausgabe für ein Interface könnte dann beispielsweise so aussehen:
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000 inet6 2001:db8:ff00:8cb0:a1b5:b96d:3d80:f9d3/64 scope global temporary deprecated dynamic valid_lft 257sec preferred_lft 0sec inet6 2001:db8:ff00:8cb0:221:beff:feef:dead/64 scope global dynamic valid_lft 6859sec preferred_lft 3259sec inet6 fe80::221:beff:feef:dead/64 scope link valid_lft forever preferred_lft forever
Die unterste Adresse ist die Link-Lokale Adresse (
scope link
), sie wird von den Privacy Extensions nicht beeinflusst.Die mittlere Adresse ist die globale Adresse (
scope global
), die ebenfalls aus der MAC-Adresse erzeugt wurde. Sie wurde nicht statisch festgelegt sondern mittels der IPv6-Autokonfiguration erzeugt (dynamic
).Die obere Adresse wurde durch die Privacy Extensions erzeugt (
temporary
). Diese Adresse hat keine Gültigkeit mehr (deprecated
), da die „Preferred Lifetime“ abgelaufen ist (preferred_lft 0sec
). Diese Adresse ist noch 257 Sekunden gültig (valid_lft 257sec
) und kann noch zum Empfang von Netzwerkpaketen, die an diese Adresse gesendet wurden, genutzt werden. Für ausgehende Netzwerkanfragen (zum Beispiel Aufruf einer Webseite) kommt die mittlere Adresse (2001:db8:ff00:8cb0:221:beff:feef:dead
) zum Einsatz.
Überprüft man nun, mit welcher Adressse man im Internet auftaucht, zum Beispiel mit der Seite test-ipv6.com 🇬🇧, dann sollte in diesem Beispiel 2001:db8:ff00:8cb0:221:beff:feef:dead
herauskommen. In der Regel nutzt Ubuntu jedoch die temporäre Adresse, so sie denn noch nicht abgelaufen ist.
Links¶