Close

Not a member yet? Register now and get started.

lock and key

Sign in to your account.

Account Login

Forgot your password?

DynDNS mit PHP

DynDNS mit PHP
 

Seitdem der kostenlose Dienst DynDNS kostenpflichtig geworden ist (gilt nur für neue Anmeldungen) suchen viele nach einer freien und kostenlosen Lösung. Ziel eines dynamischen DNS Dienstes ist es, den Benutzer bei einer Adresseingabe, zu einer dynamischen Adresse weiterzuleiten. Der DNS-Dienst kommt immer dann ins Spiel, wenn sich die Ziel-IP-Adresse ändert. In diesem Fall muss der Dienst den Benutzer auf die Neue IP-Adresse weiterleiten.
Internetprovider trennen bei Privatkunden die Internetverbindung automatisch nach 24 Stunden. Ein Wiederaufbau der Verbindung ist danach zwar sofort wieder möglich, die IP-Adresse hat sich bei einer Neueinwahl allerdings geändert. Um aus der Ferne z.B. auf die heimische Festplatte zugreifen zu können, benötigt man also nun die aktuelle IP-Adresse. Und genau hier kommt der DynDNS-Dienst zum Einsatz. Er muss nun den Benutzer bei Eingabe einer statischen Internetadresse zu der neuen IP-Adresse weiterleiten.
Einen solchen Dienst kann man sich mit etwas Know-How in PHP selbst schreiben.

DynDNS selbstgemacht

Damit das ganze auch funktioniert werden folgende Dinge benötigt:

-Einen Router, der fremde DynDNS Dienste unterstützt, z.b. AVMs Fritzboxen.
-Eine Eigene Domain mit php fähigen Webspace.

Was macht das Script ?

Statt eines offiziellen DynDNS Dienstes wird ein PHP Script auf dem eigenen Webspace aufgerufen. Dabei werden Parameter wie die aktuelle IP und ein Passwort übergeben, damit das Script weiss, dass die IP erneuert werden soll.
Das Script selber schreibt in eine kleine Textdatei die aktuell gültige IP rein – nicht mehr.
Bei Aufruf des Scripts ohne Passwort leitet das Script direkt zu der IP weiter + intern angegeben evtl. Port oder Parametern.
Damit kann man also z.B. auf Port 8080 (meist bei Qnaps voreingestellt) weiterleiten. Jetzt muss man nur noch in der Fritzbox eben eine solche Portfreigabe für den Port einrichten und angeben welches Gerät man ansprechen möchte.
Voila! – aber das Thema Portfreigabe wird hier nicht behandelt – dafür gibt es Handbücher

Einen Einprägsamen Namen ?

Wer einen kostenlosen Account bei DynDNS hat bekommt meist einen kleinen schicken einfach zu merkenden Namen – das geht hier auch. Wer eine eigene Domain hat, kann ja, z.b. eine „Subdomain“ anlegen, z.b. http://qnap.meineDomain.de. Diese Subdomain sollte auf das script zugreifen.
Bei Aufruf wird dann direkt an die HomeIP weitergeleitet. So hat man einen einfachen einprägsamen schönen Namen, und eine schnelle direkte Umleitung auf den Anschluß zuhause.

Nachteile ?

Ja klar, keine Vorteile ohne Nachteile. Dieses ist ein PHP script, d.h. es muss vom Server per Http aufgerufen werden. Also ist KEIN direkter Aufruf über FTP oder so möglich. Das lässt sich aber umgehen, wenn man auf eine weitere Seite umleitet wo die IP entsprechend als FTP Link aufbereitet wird – das geht auch per PHP…

Weiterhin wird im Ereignisprotokoll der Fritzbox jedes mal nach wechsel der IP solch eine Meldung ausgegeben: „Dynamic DNS-Fehler: Die Dynamic DNS-Aktualisierung war erfolgreich, anschließend trat jedoch ein Fehler bei der DNS-Auflösung auf.“ – damit kann man leben. Es beeinflusst nicht die Funktion.

Was geht noch ?

Mittlerweile übergebe ich die aktuelle IP per PHP an eine weitere Webseite die mir schön sauber alle angeschlossenen Geräte zuhause auflistet (inkl. Router) und dort kann ich dann per Mausklick div. Fernwartung ausführen oder direkt auf den Inhalt der NAS Platten zugreifen. Das ganze ist mittlerweile per HTTPs realisiert, damit die Passwörter nicht im Klartext übergeben werden. Auch eine VPN Verbindung auf „knopfdruck“ ist eine feine Sache.
Natürlich ist das ganze ausgiebig geschützt und wird auch noch zusätzlich überwacht.

OK, los gehts…

Als erstes sollte das PHP Script an seine Bedürfnisse angepasst werden: Passwort und Port muss angepasst werden. Sowie der Filename für die „IP Textdatei“: „homeIP.txt“ die folgenen Inhalt haben kann „127.0.0.1“.

Das folgende PHP script sollte man unter einen beliebigen Namen speichern, z.b. „filename.php“. Dann erstellen wir auf unseren PHP fähigen Webspace einen Ordner,z.b. „ordner“ und legen das file „filename.php“ darin ab – genauso wie die Datei „homeIP.txt“ oder wie auch immer ihr sie genannt habt. Die Groß und kleinschreibung sollte man immer beachten, nicht so wie ich hier auf dieser Webseite (ist innerhalb einer halben Stunde erstellt worden).

Weiterhin müssen die Rechte in diesem Ordner angepasst werden – ich stelle immer alles auf „777“ – also alles Lesen, alles Schreiben, alles Ausführen. Aber nur für den Ordner.

 

  1. Robert05-20-13

    Hi,

    das ist ja eine einmann lösung,
    es gibt ein tolles script „ProutDNS“ leider leider wird er seit 2004 nicht mehr weiter entwickelt, und das Howto (install) ist irgendwie geschrieben für sich selbst …
    es muß doch bessere lösung geben ?

  2. Benedikt09-15-13

    Hey,

    du schreibst in deinem Beitrag, dass du eine VPN aufbauen konntest. Hab nun mit oberem DynDNS versucht, eine VPN zwischen zwei Fritzboxen aufzubauen, leider hab ich das nicht hinbekommen. Hast du mir dazu einen Tipp?

  3. Mike12-27-13

    Hey,

    Das mit der Weiterleitung für VPN würde mich auch interessieren.
    Bei Eingabe der IP ist alles Super, nur wenn ich versuche in meinem WIN-VPN-Client mein php einzubinden scheitere ich.
    🙁

    Wie muss das php aussehen?

    Gruß
    Mike

    • admin12-27-13

      Hi,
      die Einbindung des VPN funktioniert auch bei mir nur halbautomatisch, nämlich nur mit der Eingabe der IP. Das liegt wohl daran, dass ein Webserver sowie PHP keine Unterstützung für das Tunneln von Verbindungen anbieten. Dies wird wohl nur über ein Port-Forwarding möglich sein und das lässt sich auch nur mit einem Root-Webserver realisieren. Eine andere Möglichkeit fällt mir dazu leider nicht ein. Vielleicht hast du noch eine andere Idee?

  4. Robert01-03-15

    Hallo,

    habe mittlerweile auf Basis von ProutDNS eigenen Dienst aufgestellt, siehe mein mein Kommentar von 20.05.13

    bezüglich VPN Verbindung haben Sie vielleicht eine Fritz zuhause ? damit wäre es am einfachsten.

    MfG
    Robert

Leave a Reply

You must be logged in to post a comment.