Raspberry Pi: Statische/feste IPv6-Adresse einrichten

Wenn man im Raspberry Pi IPv6 aktiviert, dann hat das den Nachteil, dass dabei eine ziemlich komplizierte IPv6-Adresse besteht, die man sich kaum merken kann. Sofern man den Raspberry Pi als Client benutzt, ist das kein Problem. Doch wenn man den Raspberry Pi als Server innerhalb des lokalen Netzwerk betreiben möchte oder öfter mal per SSH darauf zugreifen will, dann wäre eine statische IPv6-Adresse von Vorteil.
Das setzt natürlich voraus, dass IPv6 aktiviert ist und zumindest im lokalen Netzwerk funktioniert.

Hinweis: Wenn man statische IP-Adressen konfiguriert, dann sollten diese nicht aus dem DHCP-Pool eines DHCP-Servers kommen.

Aufgabe

  1. Ermitteln Sie eine freie IPv6-Adresse.
  2. Stellen Sie die IPv6-Konfiguration auf statisch um.
  3. Prüfen Sie, ob eine Verbindung mit der statischen IPv6-Adresse möglich ist.

Hinweis: DHCP Client Daemon deaktivieren

Damit diese Lösung unter Raspbian Jessie funktioniert, muss der DHCP Client Daemon deaktiviert werden.

sudo service dhcpcd stop
sudo update-rc.d -f dhcpcd remove

Letzteres Kommando sorgt dafür, dass der "dhcpcd" beim Booten nicht mehr gestartet wird und bei der Netzwerk-Konfiguration nur der Inhalt der Datei "/etc/network/interfaces" berücksichtigt wird.

Hinweis: Bezeichnung der Netzwerk-Schnittstellen

Seit Raspbian Stretch haben die Netzwerk-Schnittstellen für Ethernet und WLAN andere Bezeichnungen. Also nicht mehr "eth0" und "wlan0", sondern "enx..." und "wlx...". Das betrifft per USB angeschlossenen Netzwerk-Adapter, deren Bezeichnung von den hier genannten Bezeichnungen abweichen. Das bedeutet, dass man zuerst die individuelle Bezeichnung ermitteln oder die Namensgebung auf das alte Verfahren umstellen muss.

Lösung: Statische IPv6-Adresse

Um was es hier geht ist, dass man einen Raspberry Pi in einem lokalen Netzwerk unter einer statischen, link-lokalen IPv6-Adresse verfügbar macht.

Dazu öffnen wir die Konfigurationsdatei mit den IP-Einstellungen.

sudo nano /etc/network/interfaces

Dort tragen wir folgende Zeilen ein:

# IPv6
iface eth0 inet6 static
pre-up modprobe ipv6
address fe80::1 
netmask 64

Es spricht nichts dagegen, diese Zeilen exakt so zu übernehmen. Man muss nur darauf achten, dass man die IPv6-Adresse nicht schon einmal im Netzwerk verwendet.

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

Danach muss man den Raspberry Pi neu starten.

sudo reboot

Nach dem Neustart schaut man nach, was in den Netzwerk-Einstellungen drin steht.

ifconfig

Das Interface "eth0" sollte nun eine "inet6-Adresse" mit "fe80::1/64" und einem Gültigkeitsbereich "Verbindung" haben.

Wenn man vorher per SSH auf dem Raspberry Pi drauf war, bietet es sich an, dass man es jetzt nicht mehr mit der IPv4-Adresse tut, sondern mit der statischen, link-lokalen IPv6-Adresse.

Je nach SSH-Client wird der eine oder andere damit scheitern. Ein Beispiel mit einem SSH-Client auf der Kommandozeile:

ssh -6 pi@fe80::1

ergibt folgende Fehlermeldung:

ssh: connect to host fe80::1 port 22: No route to host

Diese Fehlermeldung ist eine ziemlich nichtssagende Fehlermeldung. Hier kann so ziemlich alles falsch sein. Aber, sofern man bei der Konfiguration nichts falsch gemacht hat, ist alles im grünen Bereich.
Was man hier wissen muss: Will man per IPv6 eine Verbindung irgendwohin aufbauen, dann muss man nicht nur die Adresse angeben, sondern auch das Netzwerk-Interface, über das die Verbindung aufgebaut werden soll.

Der SSH-Client muss deshalb wie folgt aufgerufen werden:

ssh -6 pi@fe80::1%en1

Nach dem "%" muss das Interface-Kürzel folgen über das eine IPv6-Connectivity möglich ist. Das Kürzel kann auch "eth0", "wlan0" oder anders heißen. Hierzu sollte man auf der lokalen Kommandozeile mit "ifconfig" (Linux, Mac OS) oder "ipconfig" (Windows) nachsehen.

Erweiterung: Über den Hostnamen auf den Raspberry Pi zugreifen (Zeroconf/Bonjour/Avahi)

Wer nicht mit IP-Adressen und deren Konfiguration hantieren möchte, kann das Problem auch mit Zeroconf lösen. Mit Zeroconf, auch Bonjour oder Avahi genannt, kann man innerhalb des lokalen Netzwerks eine Verbindung zum Raspberry Pi mit seinem Hostnamen aufbauen. Das heißt, statt der IP-Adresse, die man vielleicht gar nicht weiß, nimmt man einfach den Hostnamen, den man sich viel einfacher merken kann. Das funktioniert sowohl im Browser als auch per SSH.

Weitere verwandte Themen:

Frag Elektronik-Kompendium.de

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

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

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!