Du würdest deinen Raspberry Pi gerne als Webserver benutzen doch hast nur DS-Lite Zugang zum Internet? In diesem Artikel zeige ich dir, wie du deinen Raspberry Pi oder auch andere Geräte von außen sowohl über IPv6 als auch IPv4 erreichbar machst. Hier in Teil 1 geht es um den IPv6 Teil, wenn du schon sicher bist, dass du du über IPv6 erreichbar bist, dann geht es hier direkt zu Teil 2
Voraussetzungen / Vorwissen
- An einigen Stellen sind Einstellungen im Router entscheidend, hier handelt es sich um eine Fritzbox
- Dein Raspberry Pi sollte über das lokale Netz bereits erreichbar sein, siehe Erste Schritte
- Zum Thema, was DS-lite bedeutet siehe hier: IPv4, IPv6 & DS-lite
Router Einstellungen
IPv6
Zuerst überprüfen wir einige Einstellungen am Router. Wenn du dich auf deiner Fritzbox in deinem Browser über die Adresse fritz.box
anmeldest, bekommst du eine Übersichtsseite angezeigt. Hier sind bereits einige Informationen interessant.
Hier weißt die Fritzbox auf die DS-Lite Verbindung hin: "FRITZ!Box verwendet einen DS-Lite Tunnel" Die zugehörige Einstellung befindet sich unter Internet–>Zugangsdaten–>IPv6. Einstellungen, die zu einer DS-Lite Verbindung gehören sehen folgendermaßen aus:
Bitte denke daran, dass dies keine Einstellungen sind, die du selber aussuchen kannst, sondern sie werden dir von deinem Internet Provider vorgegeben. Falls du hier andere Einstellungen verwendest, ist dieses Anleitung möglicherweise nicht vollständig für dich geeignet.
Eine weitere Einstellung, die ich lange nicht gefunden habe, da sie etwas versteckt ist, findest du unter Netzwerk–>Netzwerkeinstellungen. Hier musst du unter dem Punkt IP-Adressen auf die Schaltfläche IPv6-Adressen klicken.
Es offenbaren sich dir nun unter anderem folgende Optionen:
Hier ist es wichtig die dritte Option der DHCPv6 Optionen auszuwählen. Dies sorgt dafür, dass eine IPv6 Adresse aus dem Adressbereich, der dir von deinem ISP zugewiesen wird, an ein Gerät in deinem Netzwerk weiterverteilt wird. Denn die Freigabe von Geräten geschieht bei IPv6 nicht mehr wie bei IPv4 über Portfreigaben, sondern es werden Adressen aus dem Adressbereich, den du von deinem ISP zugewiesen bekommst, an Geräte, die du freigibst, weiter verteilt. Dies führt dazu, dass diese Geräte, dann mit einer eigenen IPv6 Adresse direkt ansprechbar sind.
Myfritz
AVM bietet dir über Myfritz einen eigenen DynDNS-Dienst an. Dazu musst du dich zuerst bei Myfritz registrieren. Dies kannst du tun indem du innerhalb deines Fritzbox Interfaces rechts oben auf die Schaltfläche MyFRITZ! klickst. Nachdem du dich erfolgreich bei Myfritz registriert hast, kannst du deine Fritzbox nun unter Internet–>MyFRITZ!-Konto mit deinem Myfritz Konto verbinden.
Wenn die Fritzbox erfolgreich mit deinem Konto verbunden ist, findest du auf der selben Seite etwas weiter unten nun deine persönliche Myfritz Adresse. Diese hat das Format abcdefghijklmnopqr.myfritz.net
. Außerdem kannst du hier, durch setzen eines Häckchens, deine Fritzbox über diese Adresse erreichbar machen. Beachte dabei auch den Hinweis, dass du hierfür noch einen Benutzer anlegen musst, dem du dies gestattest.
Eine weitere nützliche Option ist das Anschalten von letsencrypt Zertifikaten. Damit besorgt sich deine Fritzbox automatisch ein Zertifikat, mit welchem keine Sicherheitswarnung mehr angezeigt wird, wenn du die Fritzbox über https besuchst. (Nur in sehr neuen FritzOS Versionen verfügbar, evtl nur in Labor-Versionen)
Nachdem du diese Schritte alle vollended hast, probiere doch direkt mal aus ob deine Fritzbox nun mit deiner Myfritz-Adresse erreichbar ist. (Dies ist nur über IPv6 möglich)
Geräte freigeben
Der nächste Schritt wird sein, die Fritzbox nun so zu konfigurieren, dass sie Anfragen an den Raspberry Pi durchlässt. Dazu findest du unter Internet–>Freigaben–>Portfreigaben die Schaltfläche Gerät für Freigaben hinzufügen.
Hier kannst du unter deinen Geräten den Punkt raspberrypi suchen. Wenn die diesen auswählst, werden automatisch alle korrekten Adressdaten übernommen. Achte darauf, dass die IPv6-Interface-ID, die hier angegeben ist auch wirklich mit der zugewiesenen Adresse deines Raspberry Pis übereinstimmt. Du kannst das überprüfen indem du dich per ssh
auf deinem Raspberry Pi einloggst und dort ip a
eingibst, welches die Kurzform für ip address
ist. Die Zeile in der Ausgabe, die nun entscheidend ist, sieht in etwa so aus:
inet6 xxxx:xxxx:xxxx:xxxx:55cf:77d:9d4c:80fc/128 scope global noprefixroute dynamic
inet6
sagt dir, dass es sich um eine IPv6 Adresse handelt. Die ersten vier Adressblöcke werden dir von deinem Provider zugewiesen. Die letzten vier Blöcke bilden die IPv6 Interface ID deines Raspberry Pis. Der Präfix /128
gibt die Aufteilung der Adresse in Netzadresse und Netzteilnehmer an, so wie die Subnetzmaske bei IPv4. (siehe auch Aufteilung des IPv6 Adressraums)
Als weiteren Schritt solltest du die folgenden Optionen aktivieren:
Um eine Myfritz Adresse für den Raspberry Pi zu generieren klickst du dann auf die Schaltfläche Neue Freigabe. Hier wählst du die Option MyFRITZ!-Freigabe. Das ausgewählte Schema macht für unseren IPv6 Fall hier keinen Unterschied, wähle einfach http aus. Wenn du die Einstellungen alle vorgenommen hast, speicherst du diese. Wenn du nun zurück kehrst zu der Myfritz Freigabe des Raspberry Pis wird dir hier die Myfritz Adresse des Raspberry Pis angezeigt. Diese hat das Format raspberrypi.abcdefghijklmnopqr.myfritz.net
.
Erreichbarkeit testen
Dies sind nun auch schon alle Einstellungen, damit der Raspberry Pi per IPv6 aus dem Internet erreichbar ist. Ein nützliches Tool, welches ich dir an dieser Stelle vorstellen möchte, da es mir während der Konfiguration eine große Hilfe war, ist ein Online IPv6 Ping Tool.
Auf dieser Seite kannst du die Myfritz Adresse deines Raspberry Pis angeben. Wenn alles geklappt hat, sollte dir hier eine positive Rückmeldung angezeit werden. Außerdem sollte hier die IPv6 Interface ID deines Raspberry Pis in den letzten 4 Blöcken der angepingten IPv6 Adresse wieder sichtbar werden. Der Ping auf deinen Raspberry Pi sollte auf jeden Fall funktionieren, bevor du deinen Kopf an anderen Stellen zerbrichst. Du kannst dich auf deinen Raspberry Pi bei vorhandener IPv6 Verbindung jetzt übrigens auch einloggen über:
ssh pi@raspberrypi.abcdefghijklmnopqr.myfritz.net
Auch ein Websever auf deinem Raspberry Pi sollte jetzt über IPv6 erreichbar sein. Falls noch kein Webserver auf deinem Raspberry Pi läuft, kannst du dies schnell testen indem du nginx installierst mit:
sudo apt install nginx
Wenn du nun raspberrypi.abcdefghijklmnopqr.myfritz.net
in deinen Browser eintippst, sollte dir die Default Seite von nginx angezeigt werden. (Zur weiteren Konfiguration von nginx folgen noch Artikel)
Hier geht es zu Teil 2.