2003331

Dynamischen DNS-Dienst im Eigenbau einrichten

19.04.2015 | 10:09 Uhr |

Wer einen Heimserver mobil erreichen will, kommt um externe DynDNS-Dienste kaum herum. Mit diesen Skripten klappt es doch.

Sie können für die private Nutzung zu Hause einen Web- oder Datei-Server betreiben und so von überall auf Ihre Dokumente zugreifen. Die meisten Provider führen jedoch einmal am Tag eine Zwangstrennung durch und weisen dem DSL-Router eine neue IP-Adresse zu. Wer seinen Webserver über das Internet erreichen will, muss also diese IP-Nummer kennen. Einfacher geht‘s, wenn sich die heimischen Internet-Dienste statt über eine IP-Nummer über einen leicht merkbaren Domain-Namen ansprechen lassen. Es gibt dafür mehrere kostenlose Dienste. Wenn Sie jedoch von externen Dienstleistern unabhängig sein wollen, richten Sie eine eigene Weiterleitung auf den Server im Heimnetz ein. Einzige Voraussetzung dafür ist, dass Sie einen eigenen Webspace besitzen, der PHP unterstützt. Wir stellen aber auch ein Script vor, das einfach einen Cloud-Speicher verwendet und ohne eigene Domain auskommt.

Dieser Artikel stammt aus dem Sonderheft PC-WELT WLAN & Heimnetz

Volle WLAN-Power und Hacker-Schutz - das und mehr lesen Sie im neuen PC-WELT-Sonderheft WLAN & Heimnetz .

1 So funktioniert dynamisches DNS

Wenn Sie eine Adresse wie www.pcwelt.de aufrufen, sorgt das Domain Name System (DNS) dafür, dass der Browser die zugehörige IP-Adresse erfährt. Auch Ihr PC besitzt eine IP-Adresse, die allerdings nur im lokalen Netzwerk gültig ist. Tatsächlich erfolgt die Kommunikation immer über die im Internet erreichbare externe IP-Adresse des DSL-Routers. Die Aufgabe des Routers besteht darin, Anfragen etwa des Browsers an eine IP-Adresse im Internet weiterzuleiten und die Antworten an die lokale IP-Adresse des PCs zu senden (Network Address Translation). Die Geräte in Ihrem Netz sind also von außen nicht direkt erreichbar, da im Internet nur die jeweils aktuelle IP-Adresse des DSL-Routers bekannt ist.

Damit Sie von einem beliebigen PC im Internet oder einem mobilen Gerät etwa auf einen Webserver hinter dem DSL-Router zugreifen können, müssen Sie zuerst eine Portfreigabe einrichten (Punkt 2). Anschließend muss die externe IP-Adresse des DSL-Routers an einem für Sie zugänglichen Ort im Internet abgelegt werden (Punkt 3 und Kasten „Dropbox für die IP-Umleitung nutzen“).

Dropbox für die IP-Umleitung nutzen

Die IP-Adresse Ihres Routers können Sie auch auf einem beliebigen Cloud-Speicherplatz hinterlegen. Eine eigene Domain und PHP sind dann nicht nötig. Es genügt eine HTML-Datei mit der Angabe

<meta http-equiv="Refresh" content="1; URL=http://123.456.789.111">

innerhalb des Head-Tags.

Im Script-Paket „DynaDNS“ auf Heft-DVD finden Sie Datei „redirect.html“, die Sie für unser Beispiel bei Dropbox hochladen. Klicken Sie die Datei in der Dropbox-Weboberfläche an, und gehen Sie auf „Link freigeben“ und dann auf „Link anzeigen“. Die Download-URL befindet sich danach in der Zwischenablage. Öffnen Sie das Powershell-Script „Dropbox_Updater.ps1“ in einem Editor.

Hier konfigurieren Sie hinter „$DropBoxFolder=“ den Dropbox-Ordner auf Ihrer Festplatte. Hinter „$DownloadURL =“ fügen Sie mit Strg-V den Download-Link ein. Die Batchdatei „Dropbox_Updater.bat“ erstellt eine neue „redirect.html“ mit aktueller IP-Adresse und kopiert diese in den Dropbox-Ordner. Sobald dieser synchronisiert ist, starten Sie „Dropbox_Open_IP.bat“. Die Datei „redirect.html“ wird von Dropbox heruntergeladen, im Browser geöffnet und sorgt für die automatische Weiterleitung auf den Webserver hinter dem DSL-Router.

2. Portfreigaben auf dem DSL-Router einrichten

Im Router konfigurieren Sie, welche lokalen Dienste über das Internet erreichbar sein sollen. Sie finden die Einstellungen unter „Portweiterleitung“, „Portfreigaben“ oder „Port forwarding“. Bei einer Fritzbox gehen Sie in der Weboberfläche ("fritz.box" in die Adresszeile Ihres Browsers tippen) auf „Internet > Freigaben“. Klicken Sie auf „Neue Portfreigabe“, aktivieren Sie die Klickbox vor „Portfreigabe aktiv für“, und wählen Sie in der Liste „HTTP-Server“ aus. Hinter „an Computer“ stellen Sie das Gerät ein, auf dem der Webserver läuft. Klicken Sie auf „OK“. Entsprechend konfigurieren Sie auch eine Weiterleitung auf FTP-Server oder andere Dienste. Wir beschränken uns hier auf HTTP-Server, weil sich darüber ohnehin die meisten Aufgaben lösen lassen –inklusive Dateitransfer und Medienwiedergabe.

DynDNS-Alternativen kostenlos nutzen

3. Dynamisches DNS mit PHP-Script

Sie finden alle nötigen Scripts im Archiv „ DynaDNS “. Kopieren Sie „dyndnsupdater.php“ und „getExtIP.php“ auf Ihren Webspace, etwa in das Verzeichnis „dyndns“. Das erste PHP-Script nimmt die aktuelle IP-Adresse Ihres Routers entgegen und speichert sie in einer Textdatei. Es sorgt außerdem für die Weiterleitung von der Internet-Domain auf den Webserver zu Hause. Das Script „getExtIP.php“ ermittelt die externe IP-Adresse, also die Adresse des Routers.

Automatische Konfiguration: Tragen Sie unter „Dynamic DNS“ die „Update-URL“ für den eigenen Server ein. Wenn sich die IP-Adresse ändert, werden die Infos auf dem Server aktualisiert.
Vergrößern Automatische Konfiguration: Tragen Sie unter „Dynamic DNS“ die „Update-URL“ für den eigenen Server ein. Wenn sich die IP-Adresse ändert, werden die Infos auf dem Server aktualisiert.

IP-Adresse über den DSL-Router aktualisieren: Öffnen Sie „dyndnsupdater.php“ in einem Texteditor, und tragen Sie hinter „$pwort =“ ein ausreichend kompliziertes Passwort ein.

Öffnen Sie im Browser die Konfiguration der Fritzbox über http://fritz.box . Gehen Sie auf „Internet > Freigaben > Dynamic DNS“. Sollte diese nicht sichtbar sein, aktivieren Sie unter „System > Ansicht“ die Expertenansicht.

Setzen Sie ein Häkchen vor „Dynamic DNS benutzen“, und wählen Sie hinter „Dynamic DNS-Anbieter“ den Eintrag „Benutzerdefiniert“. Hinter „Update-URL“ tragen Sie die folgende Zeile ein:

 http://www.meinserver.de/dyndnsupdater.php?pass=<pass>&meineip=<ipaddr>

Statt „www.meinserver.de“ verwenden Sie die URL, über die Ihr Webspace erreichbar ist. Hinter „Domainname“ setzen Sie diese URL ebenfalls ein. Bei „Benutzername“ vergeben Sie einen beliebigen Benutzernamen, und hinter „Kennwort“ tippen Sie das Passwort ein, das Sie in Ihrem PHP-Script konfiguriert haben. Klicken Sie zum Abschluss auf „Übernehmen“.

Die Fritzbox ruft jetzt die angegebene URL auf und überträgt dabei die aktuelle IP-Adresse. Nach einer Zwangstrennung wird das Script automatisch gestartet. Wenn Sie "http://www.meinserver.de/dyndnsupdater.php" ohne Parameter im Browser aufrufen, leitet das PHP-Script auf die IP-Adresse, also auf den Webserver zu Hause um.

IP-Adresse über Client-Software erneuern: Wenn Sie Ihren Router nicht wie beschrieben konfigurieren können oder wollen, verwenden Sie eine alternative Möglichkeit. Mit im Paket „DynaDNS“ ist das Powershell-3.0-Script „IP-Updater.ps1“. Bei Windows 8 ist Powershell 3.0 mit dabei. Nutzer von Windows 7 installieren zuerst die .NET-Laufzeitumgebung 4.5.1 und dann Powershell 3.0 . Damit Windows Powershell-Scripts ausführt, starten Sie „powershell.exe“ als Administrator und führen das Kommando set-executionpolicy unrestricted aus. Öffnen Sie „IP-Updater.ps1“ in einem Editor. Tragen Sie hinter „$myServer =“ die URL Ihrer Internet-Domain ein. Passen Sie bei den anderen Variablen die Pfade an, wenn Sie die Scripts „dyndnsupdater.php“ und „getExtIP.php“ in einem anderen Verzeichnis gespeichert haben. Hinter „$user=“ und „$pwd=“ gehören Benutzername und Passwort für die HTTP-Authentifizierung. Auf Ihrem Internet-Server erstellen Sie außerdem die Datei „.htaccess“ im gleichen Verzeichnis, in dem die PHP-Dateien liegen. Eine Vorlage dafür finden Sie am Ende der Datei „IP-Updater.ps1“. Die „.htaccess“ sorgt für die HTTP-Authentifizierung über die Datei „.htpasswd_dyndns“. Diese erstellen Sie auf einem Linux-Server über den Befehl htpasswd -c Dateiname Benutername. Oder Sie verwenden dafür einen Webdienst wie htaccesstools.com . Unter Linux sucht der Webserver die mit „AuthUserFile auth/.htpasswd_dyndns“ in der „.htaccess“ angegebene Datei in der Regel im „ServerRoot“ unter „/etc/apache2“. Sollte das bei Ihrer Konfiguration anders sein, passen Sie den Pfad entsprechend an.

Mit Hilfe der Batch-Datei „Update_IP.bat“ aktualisieren Sie die IP-Adresse auf Ihrem Internet-Server. „Open_IP.bat“ ermittelt die IP und leitet Sie auf den heimischen Webserver um. „Update_IP.bat“ starten Sie unter Windows am einfachsten regelmäßig über die Aufgabenplanung. Wenn Sie einen Linux-Server einsetzen, verwenden Sie „Update_IP.sh“ für die gleiche Aufgabe.

0 Kommentare zu diesem Artikel
2003331