In diesem zweiten Teil, zeige ich dir wie du deinen Raspberry Pi auch über IPv4 trotz DS-Lite von außen erreichen kannst. Der Raspberry Pi sollte dafür schon über IPv6 erreichbar sein, siehe Teil1.

Um dieses Ziel zu erreichen zeige ich euch zwei verschiedene Möglichkeiten: einen Portmapper und einen http-Proxy.

Portmapper

Ein Portmapper ist ein Server, der Anfragen entgegennimmt und diese weiterleiten kann, auch wenn der Service nur über IPv6 erreichbar ist, wie z.B. mein Raspberry Pi, dabei beziehen sich die Anfragen immer auf einen spezifizierten Port, daher der Name. Eine Anfrage über einen Portmapper würde z.B. so aussehen:
portmapper.com:10000 welche die Anfrage weiterleitet auf example.com:80
Solch einen Dienst bietet feste-ip.net an. Ein universeller Portmapper für 12 Ports an einer Adresse kostet bei feste-ip.net 5€ pro Jahr (die ersten 50 Tage sind kostenlos). Nachdem du dich bei feste-ip.net angemeldet hast, kannst du über die Schaltfläche Unviverseller Portmapper einen Portmapper erstellen:

feste-ip_erstellen

Der Alias, den du dir aussuchen kannst, bildet zusammen mit der domain deine Adresse. Also: beispiel.feste-ip.net. Im Feld DNS oder IPv6 Ziel gibst du die Myfritzadresse deines Raspberry Pis an. In den Felder unter Ports gibst du alle Ports an, zu denen du einen Portmapper haben möchtest. Also z.B. 443 für https, 80 für http, 22 für ssh. Wenn du dies nun bestätigst bekommst du folgende Übersicht:

feste-ip

Hier siehst du nun die Adressen, die für deine Zielports erstellt wurden. In diesem Beispiel wären folgende Zugriffe (über IPv4) nun möglich:

Und wenn auf deinem Raspberry Pi ein Webserver läuft auch:

Wenn der Webserver auch für SSL konfiguriert ist:

Der Nachteil in dieser Variante ist, dass in der Adresse nun immer die custom Ports beibehalten werden müssen, was, je nach dem welche Anwendung man auf dem Webserver laufen hat, zu Problem führen kann. Deswegen kommen wir nun zu der zweiten Variante.

HTTP- / HTTPS-Proxy

Ein HTTP-Proxy nimmt, ähnlich wie ein Portmapper, Anfragen entgegen und leitet sie an einen anderen Server weiter. Doch hier werden die Ports nicht selber bestimmt, sondern es werden nur Ports genutzt, die auch typischerweise für Webanfragen genutzt werden (80, 443). Cloudflare bietet solch einen Dienst kostenlos an. Doch um diesen Dienst nutzen zu können brauchst du zuerst eine domain, mit der du in Zukunft auf den HTTP-Proxy zugreifst. Dafür bietet sich eine kostenlose Domain von Freenom an. Folgende Schritte sind nun notwendig:

  1. auf Freenom.com eine Domain registrieren: nehmen wir an example.ga
  2. auf Cloudflare.com einen Account anlegen und unter Add Site example.ga eintragen.
  3. example.ga wird nun gescannt, abwarten
  4. Clouflare zeigt dir nun die gecannten Nameserver an und in welche diese geändert werden sollen. Nehmen wir an: bella.ns.cloudflare.com und earl.ns.cloudflare.com
  5. auf Freenom unter Services-->My Domains, dann bei example.ga auf Manage Domainfreenom_mydomain
    weiter bei management tools-->nameservers-->use custom nameserversfreenom_nameserver
    Hier nun die von Cloudflare angeforderten Nameserver eintragen und mit change nameserver bestätigen. Es kann nun einige Stunden dauern, bis die Server sich aktualisiert haben. Wenn du dich bei Cloudflare einloggst, wird dir Cloudflare mitteilen ob die Umstellung schon erfolgreich war.
  6. Sobald die Umstellung erfolgreich war kannst du nun bei example.ga unter DNS weitere Einstellungen vornehmen. Dort legst du zwei cname Einträge an, einen für www.example.ga und einen weiteren für example.ga. Unter Value trägst du in beiden Fällen deine Myfritzadresse des Raspberry Pis raspberrypi.abcdefghijklmnopq.myfritz.net ein. Die beiden orangenen Wolken sollten dabei aktiviert sein.
    cloudflare
  7. Zusatz: Bei Clouflare findest du außerdem noch die Option Crypto für deine Website. Hier kannst du verschiedene Möglichkeiten einstellen:
  • Off: nicht zu empfehlen
  • Flexible: nur wenn dein Webserver auf dem Raspberry Pi noch kein SSL eingerichtet hat
  • Full: wenn du zwar SSL eingerichtet hast, jedoch mit selbst signierten Zertifikaten
  • Full strict: wenn du SSL korrekt eingerichtet hast mit Zertifikaten, die von einer CA herausgegeben sind (z.B. letsencrypt)
    (Siehe auch hier)
    Zur Einrichtung von SSL und nginx folgen noch Artikel.

Glückwunsch! Dein Webserver auf dem Raspberry Pi ist nun unter example.ga erreichbar.

Fazit

Beide Varianten haben Vor- und Nachteile, die hier noch einmal aufliste.

Port-mapper

Vorteile:

  • Für beliebige Ports nutzbar --> beliebige Services (z.B. ssh)

Nachteile:

  • nicht kostenlos
  • Adresse immer mit custom port
  • https lässt sich nicht korrekt konfigurieren, da du kein Zertifikat auf die Portmapper Adresse austellen kannst

HTTP-Proxy

Vorteile:

  • https funktioniert vollständig
  • beliebige, schicke Adressen
  • kostenlos

Nachteile:

  • nur für Webdienste geeigenet

Ich nutze um auf den Webserver auf dem Raspberry Pi zuzugreifen immer den HTTP-Proxy, example.ga. Den Port-mapper nutze ich aber noch zusätzlich um meinen Raspberry Pi von überall auch per ssh erreichen zu können. Ich habe geplant einen VPN Dienst zum Raspberry Pi aufzubauen, das wäre dann auch nur über den Port-mapper möglich.

zu diesem Artikel auf steemit.com