Jetzt hat man mit dem Raspberry Pi einen tollen, energiesparenden Webserver aufgesetzt und möchte auch von außerhalb des Heimnetzes drauf zugreifen. Um das zu erreichen, muss man zwei Dinge tun:

  • Eine dynamische DNS-Auflösung für die wechselnde IP-Adresse des eigenen Internet-Provider (DSL oder Kabel) aufsetzen
  • Im eigenen Router ein Port-Forwarding auf den Raspberry Pi Webserver einrichten

Die folgende Beschreibung gilt für meine eigene Umgebung mit einem Internetzugang von Kabel Deutschland und einer Kabel-Fritz!box 6360.

 

Dynamic DNS Dienst einrichten

Hier gibt es verschiedene Anbieter auf dem Markt. Man sollte sich aber einen aussuchen, der vom Router auch unterstützt wird. Nach Anmeldung an der Fritz!Bos 6360 kann man diese beim Register "Dynamic DNS" aussuchen:

Asuwahl DDNS

Ich habe mich für "No-IP.com" entschieden. Der bekannteste Anbieter "dyndns.org" bietet seit einigen Monaten keine kostenlosen Accounts mehr an. Zuerst geht man auf die Website no-ip.com und meldet sich für ein kostenloses Konto an: Personal --> Personal Use --> No-IP FREE. Man muss sich für einen Usernamen entscheiden, der dann Bestandteil der neuen URL wird. Das kann bei gebräuchlichen Begriffen schnell zur Sucherei werden. Anzugeben ist eine Email-Adresse und ein Passwort. Dann kann man sich die Top-Level-Domain aussuchen. Nach dem Absenden des Formulars bekommt man einen Aktivierungslink per Mail zugesandt, klickt auf den enthaltenen Link und ist freigeschaltet. Den Hostnamen, den man im Formular eingegeben hat, muss man noch konfigurieren:

No-IP.com Konfiguration

Der DNS Host (A) ist der richtige Eintrag, damit werden Anfragen aller Ports an den Router zu Hause weitergeleitet. Der bestimmt über Regeln, welche Ports intern weitergeleitet werden. Die IP-Adresse des eigenen Routers hat No-IP bereits über den Webaufruf erkannt und eingetragen.

 

Konfiguration des Routers

Bei der Fritz!Box nimmt man die Konfiguration über eine Weboberfläche vor. Im Menüpunkt

Fritz!Box Freigaben

muss man neue Einträge hinzufügen

Neue Freigaben

Die erste Zeile leitet HTTP-Anfragen aus dem Internet an den Raspberry weiter, die zweite Zeile FTP-Anfragen, wenn man seine Webseiten von Extern pflegen muss. Beim Computer wählt man den Eintrag aus, welcher der IP-Adresse des Raspberry entspricht (das ist die interne IP-Adresse, welche die Fritz!Box vergeben hat).

Jetzt muss man noch den DDNS in der Fritz!Box einrichten:

DDNS Einrichtung Fritz!Box

Die schwarzen Balken maskieren meinen Kunden- und Hostnamen. Hier stehen Eure Angaben aus der Anmeldung. Alles speichern und von der Fritz!Box abmelden. Die Fritz!Box wird ab jetzt immer dann Kontakt mit No-IP aufnehmen,wenn sich die IP-Adresse ändert. Das ist bei Kabel-Deutschland nur selten der Fall, vielleicht alle 2-3 Monate.

Achtung! Jetzt heißt es warten, am besten eine ganze Nacht. Der neue Account beim DDNS-Provider muss nach der Aktivierung erst einmal weltweit auf alle DNS-Server verbreitet werden. Einige Stunden muss man schon Geduld haben.

 

Test der DDNS-Einrichtung

Der Test von zu Hause aus ist gar nicht so einfach. Wer meint, dass man einfach nur den Browser öffnet und die neue URL eingibt, der sieht zwar die Website des RasPi aufgehen, aber leider ist das kein Zeichen für die korrekte Funktion. Der Router bekommt nämlich mit, dass die von No-IP gelieferte IP-Adresse seine eigene ist und leitet den Datenverkehr lokal weiter - gut gemeint, aber hier unbrauchbar.

Am Besten, man testet den Zugriff vom PC eines Freundes, Nachbarn oder Internet-Cafe aus. Das ist zwar unbequem, aber funktioniert bestens.

Eine andere Möglichkeit, ist es das Smartphone als Modem für den PC zu "missbrauchen". Das Verfahren nennt sich Tethering.

 

Test DDNS mit Tethering

Das Verfahren ist ganz einfach, wenn man die Optionen im Handy gefunden hat und ein Smartphone mit 3G besitzt.

Gefahr! Laut Einträgen in Foren ist das Tethering bei vielen Anbietern nicht in der normalen Vertragsnutzung (Flatrate) enthalten. Man sollte sich vorher informieren, ob man diese Leistung nicht teuer bezahlen muss.

Ich habe es trotzdem riskiert. Mein iPhone 4S (iOS 6) besitzt die Möglichkeit zum Tethering. Man geht nach

Einstellungen --> Persönlicher Hotspot --> vergibt ein WLAN-Kennwort --> und schaltet den Schieber bei "Persönlicher Hotspot" auf ein

Damit ist man auf dem Smartphone schon fertig. Jetzt legt man das iPhone neben den Laptop und stellt die Verbindung her. Dafür gibt es verschiedene Möglichkeiten:

  • WLAN (das iPhone wird zum WLAN-Router)
  • Bluetooth
  • USB-Kabel

Ich habe mich für WLAN entschieden. Als erstes trennt man am PC (hier Windows 7) die bisherige drahtlose Verbindung und sucht nach den verfügbaren Netzen. Hier sollte man ein Netz finden, das den Namen des iPhone trägt (bei mir "Andreas iPhone"). Man verbindet sich mit diesem Netz und gibt das WLAN-Kennwort ein, dass man vorher am iPhone vergeben hat. Und schon hat man keinen Internetzugang!

Mein Verdacht hat sich schnell bestätigt, der Windows-Rechner betrachtet die neue Verbindung nicht als Heimnetzwerk und damit als unsicher. Man muss also in die Konfiguration des Heimnetzwerkes gehen und die neue Verbindung als "öffentliches" Netz konfigurieren.

Jetzt öffnet man den Browser und hat endlich eine Internetverbindung. Man testet mit Browser und FTP-Client den Zugang auf den Rasperry Pi. Hat alles super funktioniert! Durch den Umweg über das Smartphone kommt man jetzt wirklich aus dem Internet ins eigene Heimnetzwerk, wo der RasPi steht.

Achtung! Nach dem Test sollte man sofort im Smartphone den persönlichen Hotspot wieder abschalten und mit dem PC zum eigenen Router zurück wechseln. Sonst kann das mit den Handy-Gebühren ins Auge gehen.