Tobias Scheible Cyber Security & IT-Forensik Dozent
Apple Time Capsual

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.

Sonntag, 20. Februar 2011
4 Kommentare

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.

Über Tobias Scheible

Tobias Scheible

Hallo, mein Name ist Tobias Scheible. Ich bin begeisterter Informatiker und Sicherheitsforscher mit den Schwerpunkten Cyber Security und IT-Forensik. Mein Wissen teile ich gerne anhand von Fachartikeln hier in meinem Blog und in meinem Fachbuch. Als Referent halte ich Vorträge und Workshops für Verbände und Unternehmen u. a. auch offene Veranstaltungen für den VDI und die IHK.

Kommentare

Vangore am 9. Mai 2011 um 09:02 Uhr

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 am 10. Mai 2011 um 09:54 Uhr

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.

Tamara am 20. November 2022 um 20:47 Uhr

Auf der Suche nach einer brauchbaren Lösung um meine sich ändernde IP von Vodafone extern zu haben ohne die Geld bettelnden Services wie NO-IP.COM nutzen zu müssen, habe ich verschiedene Tipps aus dem Netz getestet und bin auf diesen doch schon etwas älteren Artikel gestoßen. Der deswegen alles andere als wertlos geworden ist. ;o)

Verschiedene andere im Netz bieten eine Lösung über IF-ELSE-Abfragen. Leider hatte keine mit meiner Fritz!Cable-Box funktioniert. AVM hat sich da wohl nicht sehr viel Mühe gegeben. Also habe ich mal Deine Lösung versucht. Indem ich den ersten Part in eine Datei „mydns.php“ packte und in der DynDNS der Fritz!Cable eintrug. Das funktioniert, es wird die aktuelle Adresse in die „ip.txt“ geschrieben und bei Änderung der IP das auch korrekt erneuert. Name und Passwort sind da nicht notwendig, weil niemand außer mir weiß wie meine aktuelle IP in die „ip.txt“ geschrieben wird. Auslesen kann ich das über eine andere PHP-Datei. In der ich mit Variablen, IF-ELSE und Portvorgaben gut arbeiten kann. Es lassen sich mit gesendeten Variablen auch FTP, Mail, etc. Zuhause ansprechen. Natürlich kann ich auch Subdomains schalten und für jede eine PHP mit Umleitung festlegen. Je nachdem welcher Service von außen angesprochen werden soll. Alles sehr flexibel nutzbar. Achso, ich habe wint.global als Hoster und verschiedene Domains dort liegen.

Danke für die Inspiration! :-*

Tobias am 20. November 2022 um 21:04 Uhr

Hallo Tamara, freut mich – das mein Artikel dir weiterhelfen konnte 😉 Zwischenzeitlich bin ich noch über eine Alternative gestoßen: https://wiki.ubuntuusers.de/FritzBox/Skripte/ Tobias

Schreibe einen Kommentar!

Hilfe zum Kommentieren und Hiweise

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, eine Gefährdung anderer Besucher darstellen oder keinen sinvollen Inhalt beinhalten, 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 damit ich direkt Kontakt aufnehmen kann. 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>

Ihre E-Mailadresse wird nicht veröffentlicht. Mit dem Absenden anerkennen Sie die Datenschutzhinweis des Blogs.