IPv6 (nicht nur) unter Raspbian aktivieren

Als ich mit der Netzwerkkonfiguration meines Raspberry Pi unter Raspbian beschäftigte, stellte ich zu meiner Überraschung fest, dass IPv6 per default deaktiviert ist. Da bei mit alle Geräte (die IPv6 beherrschen) mit IPv6 konfiguriert sind und die Außenanbindung mit einem SixXS-IPv6-Tunnel IPv6-fähig ist, musste das geändert werden.

IPv6 aktivieren

Im Blog von Thomas Leistner fand ich ein Posting, dass das Aktivieren von IPv6 unter Rasbian beschreibt. Es ist bei Raspbian nicht notwendig, irgendwelche Pakete zu installieren1, sondern man nur das entsprechende Kernel-Modul aktivieren:

sudo modprobe ipv6

Wenn der Befehl fehlerfrei durchläuft, dann ist sofort IPv6 aktiv.

Durch diesem Aufruf ist das notwendige Modul manuell aktiviert worden. Bei einem Neustart wird das Modul jedoch nicht automatisch geladen2. Um den Aufruf zu automatisieren muss in die Datei /etc/moduleseine neue Zeile mit ipv6eingefügt werden. Das geht nur mit Administrationsrechten, also z.B. mit sudo nano /etc/modules.

Privacy-Extensions aktivieren

IPv6 hat in seiner ursprünglichen Form Privacy-mäßig eine Designschwäche. Die 128 Bit lange Adresse besteht aus einem 64 Bit langen Präfix, der vom Netzwerk vorgegeben wird, und einem 64 Bit langen Interface-Identifier (vgl. Wikipedia). In den zweiten Teil fliest die MAC-Adresse der Netzwerkschnittstelle ein. Da diese MAC-Adresse grundsätzlich für jede Netzwerkschnittstelle fest vorgegeben und weltweit einmalig ist3, ließe sich damit ein Rechner und auch sein Benutzer hervorragend tracken.

Um dies zu verhindern, wurden die Privacy-Extensions eingeführt. Zusätzlich zu der nach der obigen Regel generierten IPv6-Adresse, werden zusätzliche IPv6-Adressen mit begrenzter Lebensdauer generiert, die regelmäßig ersetzt werden. Beim Bilden dieser IPv6-Adressen werden nur die zweiten 64 Bit verändert.

Nach etwas Suchen bin ich entsprechend den Ausführungen auf dieser Seite vorgegangen. Da mein Raspberry Pi als Server fungiert, habe ich ihm eine manuelle Netzwerkkonfiguration verpasst und musste daher den Weg über sysctl nehmen.

Um auf Nummer sicher zu gehen, habe ich in die /etc/sysctl.confdie folgenden Zeilen aufgenommen (wiederum Administrationsrechten mit sudo nano /etc/sysctl.conf):

net.ipv6.conf.eth0.use_tempaddr=2
net.ipv6.conf.all.use_tempaddr=2
net.ipv6.conf.default.use_tempaddr=2

Anschließend muss man das bzw. die Netzwerkschnittstelle(n) runter- und wieder hochfahren bzw. den Rechner rebooten.

Danach kann man sich mit ip -6 addr show dev eth04 davon vergewissern, dass es funktioniert hat. Es müssten mehrere IPv6-Adressen auftauchen, von denen eine oder mehrere als temporary bzw. nach einiger Zeit als temporary deprecated bezeichnet sind.


  1. Ich weiß nicht, ob das Modul bei allen Linuxen in der Grundkonfiguration vorhanden ist. 
  2. …sonst hätten wir es ja auch nicht vorher von Hand aufrufen müssen. 
  3. Man kann die MAC-Adresse spoofen, d.h. verändern, aber das macht kaum jemand. 
  4. Netzwerkschnittstellennamen ggf. anpassen und ip -6 show … verwenden, denn das gute alte ifconfig kennt den temporären Status der zusätzlichen IPv6-Adressen nicht, sodass man plötzlich einen ganzen Strauß von vermeintlich aktiven zusätzlichen Adressen angezeigt bekommt. :-O  

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Kommentare abonnieren

Es erfolgt keine Weitergabe von Daten an externe Dienste wie WordPress.com.

eMail-Benachrichtigung bei weiteren Kommentaren.
Auch möglich: Abo ohne Kommentar.