{

Tobias Scheible
Referent, Autor & Softwareingenieur

Datum: Sonntag, 20. Februar 2011

Autor: Tobias Scheible

Kommentar(e): 2 Kommentare

Kategorie: Vermischtes

Tags: Apple Time Capsule, Cron, DynDNS, Netzwerk, PHP, Shell, wget

DynDNS mit PHP realisieren

Ich stand vor dem Problem das die AirPort-Basisstation Time Capsule von Apple kein DynDNS unterstützt. Und da habe ich mir ein kleines Script in PHP geschrieben, dass diese Aufgabe übernimmt.

DynDNS ist ein Service um Domains auf eine dynamische IP-Adresse weiterzuleiten. Einer der bekanntesten Anbieter ist der gleichnamige Dienst DnyDNS.com. Der alte Router unterstützte DynDNS von Haus aus ohne Probleme, aber Time Capsulel bringt keinerlei Unterstützung dafür mit. Der einfachste Weg wäre die Installation eines DynDNS Clients auf einem der Server gewesen. Aber wieso einfach, wenn man sich eine Lösung auch selber basteln kann.

Ich habe auf der lokalen Seite und im Internet einen Linux Web-Server. Mein Überlegung war das sich der lokale Server in regelmäßigen Abstände bei dem Server im Internet meldet. Dies habe ich mit einem Cronjob, der per wget eine PHP-Datei auf dem anderen Server aufruft gelöst. Dieses PHP-Script speichert einfach die temporärer IP-Adresse des Interne Anschluss in einer Datei.

<?php
$fp = fopen("ip.txt","w+");
fwrite($fp,$_SERVER['REMOTE_ADDR']);
fclose($fp);
?>

Wird nun die index.php Datei des Verzeichnisses aufgerufen, wird die gespeicherte IP-Adresse aus der Datei ausgelesen. Und der Besucher wird an diese weitergeleitet.

<?php
$fp = fopen("ip.txt","r");
$ip = fgets($fp,100);
fclose($fp);

Header("Location: http://".$ip);
exit();

?>

Es ist zwar nur eine rudimentäre Lösung die keinerlei Fehlerbehandlung beinhaltet. Aber dafür war die Lösung in kürzester Zeit gebastelt und sie funktioniert.

  • Artikel teilen:

Über Tobias Scheible

Tobias Scheible

Tobias Scheible arbeitet als wissenschaftlicher Mitarbeiter an der Hochschule Albstadt-Sigmaringen am Institut für wissenschaftliche Weiterbildung. Dort arbeitet er am Projekt „Open C3S - Open Competence Center for Cyber Security“ und entwickelt unter anderem das Studienmodul „Cloud Computing“ für den berufsbegleitenden Master-Studiengang IT-Governance, Risk and Compliance Management. Außerdem ist er begeisterter Web-Entwickler und realisiert bereits seit über 15 Jahre Web-Projekte.

Alle Blog-Artikel Website Facebook Twitter Xing

Kommentare

Vangore

Ist natürlich eine Alternative allerdings verliert man den Luxus der dyn. Adresse. Sprich man muss immer erst nach der IP schauen um diese dann ggf. in die Konsole, den SSH-Client etc. einzugeben.

Wenn Du eh einen „Server“ mit Strom fütterst würde ich zum DynDNS-Client wechseln. Außer natürlich du brauchst den oben genannten Luxus nicht. 🙂

Commander1024

Featurecomplete, sparsam und doch alle Komfortfeatures bietet das kleine Python Script ipcheck.py, welches auch zig Methoden hat, um die externe IP herauszufinden. Getriggert durch /etc/ppp/ip-up hat es jahrelang seinen Dienst verrrichtet.

Schreibe einen Kommentar!

Hilfe zum Kommentieren

Um kommentieren zu können, geben sie bitte mindestens ihren Namen und ihre E-Mail-Adresse an. Bitte nutzen Sie die Kommentarfunktion nicht dazu, andere zu beleidigen oder Spam zu verbreiten. Trolle und Spammer sind hier unerwünscht! Unangemessene Kommentare, die zum Beispiel gegen geltendes Recht verstoßen oder eine Gefährdung anderer Besucher darstellen, werden gelöscht oder angepasst.

Name: Ihr Name, der oberhalb des Kommentars steht, gerne auch Ihren echten Namen, das erleichtert die Kommunikation für alle. Sollte ein Spam-Keyword als Name verwendet werden, kann dieses entfernt oder korrigiert werden.

E-Mail: Ihre E-Mail Adresse dient zur Identifizierung weiterer Kommentare und sie haben die Möglichkeit, ein Avatar-Bild zu verwenden. Dazu müssen Sie mit Ihrer E-Mail Adresse bei Gravatar angemeldet sein. Die E-Mail Adresse wird natürlich nicht veröffentlicht und nicht weitergegeben.

Website: Hier können Sie ihren eigenen Blog bzw. ihre eigene Website eintragen, dadurch wird Ihr Name und Ihr Avatar-Bild verlinkt. Werden rein kommerzielle Angebote offensichtlich beworben, setze ich den Link auf nofollow und unangemessene werden einfach entfernt.

Erlaubte HTML-Tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <hr> <big> <small> <sub> <sup> <u>

nach oben