Raspberry Pi: IPv6 Privacy Extensions in Raspbian Wheezy aktivieren

Wenn man im Raspberry Pi IPv6 eingeschaltet hat (Raspbian Wheezy), dann werden alle IPv6-Adresse aus der MAC-Adresse (Hardware-Adresse) gebildet. Leider ist die immer gleich, weshalb sich der betreffende Client bzw. Host anhand dieser Adresse identifizieren lässt. Aus Datenschutz-Gründen ist das ein Problem.
Deshalb gibt es mit Privacy Extensions für IPv6 eine Erweiterung, die die Privatsphäre schützt. Die ist aber nicht immer automatisch aktiv, wenn IPv6 eingeschaltet bzw. aktiviert wird.

Privacy Extensions ist natürlich nur relevant, wenn innerhalb des lokalen Netzwerks ein Router einen globalen Präfix verteilt. Ansonsten bleibt Privacy Extensions inaktiv auch wenn es in den Einstellungen aktiviert ist.

Unter Raspbian Jessie ist IPv6 standardmäßig eingeschaltet und Privacy Extensions aktiviert. Die folgende Aufgaben sind für Raspbian Wheezy gedacht.

Hinweis: Es kann verschiedene Gründe geben, warum Privacy Extensions trotz richtiger Konfiguration nicht aktiv ist. Privacy Extensions hat üblicherweise keinen Einfluss auf link-lokale Adressen, die mit "fe80" anfangen. Es wird auch dann nicht aktiv, wenn kein globaler Präfix im lokalen Netzwerk verteilt wird oder wenn man für die Netzwerk-Schnittstellen statische IPv6-Adressen konfiguriert hat.

Aufgabe

  1. Aktivieren Sie Privacy Extensions.
  2. Prüfen Sie, ob die Datenschutz-Erweiterung aktiv ist.

Lösung 1 für Raspbian Wheezy

Zuerst öffnet man eine Konfigurationsdatei.

sudo nano /etc/sysctl.conf

Hier muss man folgenden Eintrag einsetzen:

# Enable IPv6 Privacy Extensions
net.ipv6.conf.default.use_tempaddr = 2
net.ipv6.conf.all.use_tempaddr = 2

Dieser Eintrag sorgt dafür, dass für "alle" Netzwerk-Schnittstellen Privacy Extensions aktiviert wird. Wenn man Privacy Extensions nicht für alle, sondern nur für ausgewählte Schnittstellen aktivieren will, dann ersetzt man "all" durch die Bezeichnung der Schnittstelle. Zum Beispiel "eth0" oder "wlan0".

Optional kann man noch festlegen, wie lange die temporären Adressen, die durch Privacy Extensions erzeugt wurden, verwendet werden sollen (Wert in Sekunden). Sie wird aber nicht sofort verworfen, sondern eine neue temporäre Adresse erzeugt und für ausgehende Verbindungen verwendet. Die alte wird erst später endgültig verworfen, wenn eine Zeit lang kein Datenverkehr mehr auf dieser Adresse hereinkommt. Diesen Wert kann man zusätzlich noch mit einem zweiten Wert begrenzen.

# Lifetime (86400 = 24 h)
net.ipv6.conf.all.temp_prefered_lft=86400

# set valid LifeTime (604800 sec = 7 days)
net.ipv6.conf.all.temp_valid_lft = 640800

Anschließend speichern und schließen: Strg + O, Return, Strg + X.

Nach einem Neustart sollten die Privacy Extensions aktiv sein.

sudo reboot

Ein Neustart ist nicht zwangsläufig erforderlich. Das Einlesen der der Systemeinstellungen tut es auch.

sudo sysctl -p /etc/sysctl.conf

Man sollte dann aber auf alle Fälle prüfen, ob sich die Interfaces eine temporäre globale IPv6-Adresse generiert haben.

ifconfig

Hier sollte das entsprechende Interface eine globale IPv6-Adresse haben. Wenn nicht, dass wird im lokalen Netzwerk kein Präfix verteilt oder der Raspberry Pi hat noch keinen bekommen. Hier muss man vielleicht ein bis zwei Minuten warten und es dann noch einmal versuchen.

Wenn der Raspberry Pi dann eine globale IPv6-Adresse bekommen hat, dann sollte zusätzlich eine weitere globale IPv6-Adresse vorhanden sein, die keine Spuren der MAC-Adresse aufweist. Wenn es diese Adresse nicht gibt, dann ist Privacy Extensions nicht aktiv geworden. Dann hat man jetzt echt ein Problem!

Lösung 2 für Raspbian Wheezy

Als erstes prüft man die vorhandenen Netzwerk-Schnittstellen. In der Regel arbeitet man mit "eth0" oder "wlan0". Hier schaut man nach der Einstellung von Privacy Extensions.

sudo cat < /proc/sys/net/ipv6/conf/eth0/use_tempaddr

Hier sollte die Kommandozeile "2" ausgeben. Wenn nicht, dann wurde die Default-Einstellung nicht übernommen. In diesem Fall muss man die Einstellung für jedes Interface separat machen.

Also noch mal die Konfigurationsdatei öffnen.

sudo nano /etc/sysctl.conf

Hier muss man folgenden Eintrag zusätzlich für "eth0" hinzufügen:

net.ipv6.conf.eth0.use_tempaddr = 2

Und falls ein WLAN-Interface genutzt wird auch für "wlan0":

net.ipv6.conf.wlan0.use_tempaddr = 2

Danach speichern und schließen: Strg + O, Return, Strg + X.

Und natürlich wie gewohnt, Reboot tut gut.

sudo reboot

Nach dem Neustart muss man wieder mit "ifconfig" prüfen. Wenn die Einstellungen übernommen wurden, dann gibt es zusätzlich eine globale temporäre IPv6-Adresse, die für ausgehende Verbindungen genutzt und regelmäßig geändert wird.

Lösung 3 für Raspbian Wheezy (quick and dirty)

Wenn es auch jetzt noch nicht geklappt hat, dann hilft nur noch die Holzhammer-Methode. Es hilft, ist aber "schmutzig". Dazu öffnet man eine Konfigurationsdatei:

sudo nano /etc/rc.local

Hier trägt man vor "exit 0" folgende Zeile ein:

for IF in "/bin/ls /proc/sys/net/ipv6/conf/*/use_tempaddr" ; do echo 2 > $IF ; done

Danach speichern, schließen und rebooten.

Weitere verwandte Themen:

Frag Elektronik-Kompendium.de

Collection: IPv6

Alles was Sie über IPv6 wissen müssen.

Eine PDF-Datei mit allen Artikeln über das Internet Protocol Version 6 von dieser Webseite. Die Zusammenstellung berücksichtigt die Einführung in die Grundlagen von IPv6 mit detailreichen Beschreibungen und zahlreichen Tabellen und Abbildungen. Erfahren Sie mehr über die Möglichkeiten und Zusammenhänge im IPv6-Netzwerk.

Mehr Informationen und zum Download

Netzwerktechnik-Fibel

Alles was Sie über Netzwerke wissen müssen.

Die Netzwerktechnik-Fibel ist ein Buch über die Grundlagen der Netzwerktechnik, Übertragungstechnik, TCP/IP, Dienste, Anwendungen und Netzwerk-Sicherheit.

Das will ich haben!

Elektronik-Set Raspberry Pi Edition
Elektronik-Set Raspberry Pi Edition

Elektronik erleben mit dem Raspberry Pi mit Python und GPIO Zero

  • Leichter Einstieg ins Hardware-nahe Programmieren mit Python und GPIO Zero
  • Experimentieren und Programmieren ohne Vorkenntnisse
  • Sofort Loslegen mit All-in-one-Set

Elektronik-Set jetzt bestellen