DynDNS-Dienste umgehen?

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Grad erst dieses gute Forum gefunden und ein wenig durchsucht.

    Meine Frage: ist es möglich mit geeigneter Software am Raspberry die ständig wechselnde IP des Modems auszulesen und weiter zu geben? Sodass die diversen DynDNS-Dienste umgangen werden können?

  • ja klar könntest dir immer eine E-Mail zustellen lassen wenn sich die IP ändert. Wäre zumindest erstmal so ne schnelle Idee dazu. Nachteil du musst halt immer erst in dein postfach schaun welche IP heute mal wieder aktuell ist und wenn es blöderweise einen wechsel gibt wären du ausn Internet mit deinem Rasperry was machst dann bekommste eine Meldung das die Seite zum Beispiel nicht verfügbar ist, wenn jetzt dein "dienst" nicht der schnellste ist und das mit der E-Mail dauert dann heisst es erstal warten.

    Gegenfrage was stört dich an DynDNS?

  • Danke für die schnelle Antwort!
    Nun die DynDNS-Dienste sind zumeist nicht mehr kostenfrei und manche laufen nur 30 Tage und dann sind die wenigen kostenfreien auch sehr träge.

    Ich hätte gerne das der Raspberry mir die jeweils aktuell IP-Adresse auf meinem Webserver schickt - dabei müsste er mit meinem Modem kommunizieren können - aber ich glaube das lässt sich nicht realisieren - hab schon das ganze Web durchsucht . . .

  • Du holst Dir per wget eine dieser Seiten mit Deiner externen IP, ermittelst sie durch rausflöhen aus dem HTML-Code und sendest die dann, wie Du wolltest, per email auf Dein Handy ...
    Alternativ dazu - ein kostenloser webhoster auf den Du nur eine Seite mit einer Weiterleitung auf Deinen RPi hinterlegst ... und die aktualisierst Du immer dann, wenn sich die externe IP geändert hat.
    cu,
    -ds-

  • Puff! So gut bin ich auch wieder nicht das ich alles verstehe. Einen Webhoster hab ich ja dort würde ich gerne dann eine Subdomain abfragen wo die jeweils aktuelle Adresse steht . . .

  • wenn du einen webserver hast.. kannst du eventuell auch eifnach selber einen dyndns dienst erstellen.. dazu gibts anleitungen im web..
    ansonsten sei noch gesagt, dass das abgreifen deiner externen IP von einem rechner innerhalb des netzwerkes nur in intervallen geschehen kann.. und zwischen diesen intervallen hast du beim IP wechseln eine "versorgungslücke"

  • Die Versorgungslücke wird nicht so arg sein da die zugeteilte IP doch nur nach vielen Stunden einmal wechselt. Mein Webhoster (all-inkl) bietet Dyndns Dienste nur im oberen Pteissegment an. Im Netz wird von PHP-Scripten für den Webserver gesprochen mit denen ich (vielleicht auch aus Unkenntnis) keinen Erfolg hatte.


  • Du holst Dir per wget eine dieser Seiten mit Deiner externen IP, ermittelst sie durch rausflöhen aus dem HTML-Code und..

    Code
    curl -s http://www.wieistmeineip.de/ | grep "Ihre IP-Adresse lautet:" -A 1 | tail -n1 | cut -d ">" -f3 | cut -d "<" -f1

    <- Gibt die externe IP aus
    Nicht grad das eleganteste, aber funktioniert.

    edit: joh's Variante braucht um einiges weniger Netztraffic

  • Also wenn ich das richtig verstanden habe geht das ganz einfach.

    Als erstes mit dem Befehl

    Code
    wget -q -O meineIP ipecho.net/plain


    die aktuelle IP in der Datei "meineIP" speichern.

    Und anschließend die Datei "meineIP" per FTP auf den Webspace hoch laden.

    Wenn du dann z.b. http://meinserver.net/meineIP eingibst müsstest du die IP vom PI sehen

    (In diesem Fall wird die Datei ins Rootverzeichniss des Webspaces kopiert. Die IP ist somit genau genommen nicht über eine Subdomain erreichbar sondern über eine einfache Unterseite )

    Dann noch das ganze in ein Shellskript verpacken und per cronjob automatisch auführen lassen.

    ---------
    Edit:
    julian ipecho.net :angel: :D

    DON'T PANIC!

    Einmal editiert, zuletzt von joh.raspi (15. Dezember 2014 um 01:49)


  • Und anschließend die Datei "meineIP" per FTP auf den Webspace hoch laden.

    Wenn man das in ein Skript verpackt ist wput dafür ne gute Wahl :thumbs1:

    Spoiler anzeigen
  • Nun die DynDNS-Dienste sind zumeist nicht mehr kostenfrei und manche laufen nur 30 Tage und dann sind die wenigen kostenfreien auch sehr träge.

    Aber nicht alle... Benutz mal die Forumsuche (oben rechts) und klick auf den 1.Treffer zu: Dynamic DNS

    Ich weiß aber nicht was genau du mit "träge" meinst :huh:

    Problematik:

    Zitat

    Nach den Änderung der IP-Adresse kann es durchaus einige Zeit dauern, bis alle DNS-Server die neue IP-Adresse korrekt auflösen. Auch bei einer kleinen TTL können DNS-Server einen Eintrag länger als die TTL angibt cachen.

    Ich nutze NO-IP.com völlig kostenfrei und bin damit auch sehr zufrieden.
    Es gibt aber auch andere Dienste die schnell sind, also nicht nur eine niedrige TTL haben sondern wo auch die Domain-Name-Server schnell sind.


    Ich hätte gerne das der Raspberry mir die jeweils aktuell IP-Adresse auf meinem Webserver schickt

    Hast du einen eigenen Server im Internet, also zB ein VPS oder sogar einen dedicated rootServer? Oder handelt es sich dabei nur um "Webspace" ?
    Solange das nicht nur Webspace wäre könntest du darüber auch deinen eigenen DynDNS ähnlichen Dienst betreiben. Du verbindest dich dabei einfach auf die IP deines Internet-Servers sowie einem bestimmten Port und dein Server leitet das an deinen PI weiter.. Dafür würde sich zB auch ein VPN anbieten, dann bräuchte man nämlich noch nicht mal ständig die Internet-IP des RaspberryPIs ermitteln ;)

    Wenn dir das aber zu viel oder zu kompliziert ist, brauchst du auf dem PI nur ein Script was deine Internet-Webseite ansurft und ein PHP Script aufruft, also eine "geheime" Seite die nur dein PI kennt :fies: Dafür brauchst du dann die hier bisher geraten Scripts bezüglich wput oder wieistmeineip.de nämlich auch nicht!

    Speicher dir einfach folgenden Code in einer XYZ.php Datei auf deinen Internet-Webserver:

    Fertig :cool:

    dabei müsste er mit meinem Modem kommunizieren können

    Solange sich das Modem (DSL? Kabel? Router?) automatisch einwählt spielt das keine Rolle.


    //EDIT: Ups. Hatte 2 Schreibfehler im XYZ.php :blush:

  • Wahhh! - Ihr bemüht Euch richtig gut – Danke. Ich muss vorrausschicken das ich kein Linux-Mensch bin – das heißt erst am Beginn.

    @ meigrafd – Ich hab nur einen Webspace bei all-inkl (Privat) wo ich keinen DynDNS-Dienst dabei habe. Das mit dem PHP-Script gefällt mir gut – muss mir das einmal anschauen – Danke derweil

  • Also selbst, wenn Du nur einen Webspace hast, kannst Du im Grunde einen eigenen "DynDNS-Dienst" betreiben. Dazu muss deine Seite eigentlich nur eine Programmiersprache "können". Meist ist es PHP. Luxus wäre noch eine Datenbank. Hast Du das, kannst Du sogar die DynDNS-Einstellungen Deines Routers verwenden, sofern dieser "andere Anbieter" unterstützt. Du brauchst nichts weiter zu machen als dort Deine Adresse des Scripts auf dem Server, z.B. "http://meineseite.de/dyndns.php" einzugeben. Damit es funktioniert nimmst Du auch noch irgendein Passwort dazu.
    Schreibe mal anfänglich die Daten, die die Variable $_REQUEST liefert in eine Textdatei und Du wirst staunen, was Dein Router alles so an Daten liefert wenn er einen DynDNS kontaktet. Mit der Datenbank könnte man dann einen "echten" Dienst laufen lassen, aber das ist ja meist gar nicht notwendig. Es würde schon reichen, die IP aus dem Request in die Textdatei zu schreiben und wenn Du dann z.B. meinedomain.de aufrufst in der index.php die IP aus der Textdatei lesen und an diese Weiterleiten. Schon bist Du auf Deinem Router bzw. auf dem gerouteten (Portweiterleitung) Gerät.

  • Servus meigrafd!

    Du hast mir eine super Anleitung gegeben (15.12.-10:57) - nur hab ich zu wenig Kenntnisse mit PHP.

    Also was will ich? Ich will eigentlich meine IP-Kamera von unterwegs abfragen und dachte mit dem Raspberry kann ich das leicht bewerkstelligen. Aber ein funktionierendes PHP-Script am Web-Server wäre mir lieber wo ich einfach nur die momentan am Heimmodem anliegende IP erfragen kann (oder gar wohinleiten kann).

    Jetzt meine Frage: muss ich die rot markierten Texte wie zB "HTTP_CLIENT_IP" noch anpassen? Hab auch eine ip.txt erstellt (auch eine mit .ip.txt) aber beim Aufrufen der index.php bekomme ich folgende Meldung: Warning: file_put_contents(.IP.txt) [function.file-put-contents]: failed to open stream

    Nur wenn Du Zeit und Lust hast zu antworten - eilt nicht - bastel eh schon 1 Jahr herum - lieben Gruß * Stanbul *

  • Hallo,

    mit Hilfe dieser Webseite:
    http://www.axelteichmann.de/DynamicDNS/ind…it-Fritzbox.php
    habe ich es recht leicht geschafft, auf die auf meinem Raspberry gespeicherten Web-Seiten zuzugreifen.
    Dieses winzige PHP-File funktioniert prima: (Näheres bitte auf der Web-Seite von Axel Teichmann)

    <?
    $pwort = 'Mein_Passwort'; // Persönliches Passwort für die Erneuerung der IP eintragen
    $port = ':80/Mein_Unterordner/';

    $dyntxt = "IP.txt"; // Dateiname in der die aktuelle IP gespeichert wird
    $pworttest = $_GET["pass"]; // Das Passwort welche vom Modem geliefert wird
    $IP = $_GET["meineip"]; // Die IP welche vom Modem geliefert wird
    if(file_exists($dyntxt))
    {
    if($pworttest==$pwort)
    file_put_contents( $dyntxt, $IP );
    else
    header('Location: http://'.file_get_contents(%24dyntxt).%24port);
    }
    ?>

    Das Ganze funktioniert aber nur unter Zuhilfenahme einer Fritz-Box und dem dortigen "Dyn-DNS-Dienst". Auf diese Abhängigkeit würde aber ich gerne auch noch verzichten.
    Meine Überlegung ist nun die - und da würde ich mich über Antworten freuen, wenn meine Überlegungen "prinzipiell" falsch sind. (... und auch wenn sie richtig sind :) )

    Es müßte doch möglich sein, seinen Raspberry dazu zu bringen, regelmäßig eine Web-Seite aufzurufen, die die aktuelle IP in ein Textfile schreibt.
    Die aktuelle IP bekommt man so:
    <?php
    $ip = $_SERVER["REMOTE_ADDR"];
    // $host = gethostbyaddr($ip); // hier nicht nötig
    // echo "IP Adresse: $ip<br>"; // hier nicht nötig
    // echo "Hostname: $host"; // hier nicht nötig
    ?>
    Diese IP-Adresse schreibt man dann in das Textfile "IP.txt".
    sh. oben: $dyntxt = "IP.txt"; // Dateiname in der die aktuelle IP gespeichert wird
    Ab dann kann man das obige Script wieder verwenden. Natürlich braucht man dazu einen "festen Web-Space" außerhalb des eigenen Raspberry.

    Ich kenne mich mit PHP-Programmierung nicht besonders aus und kriege es auch sicher nur unter vielen Mühen - wenn überhaupt - hin, dass der Raspberry selbständig - sagen wir jede Minute 1-mal - die php-Seite anwählt, die eigene IP abfrägt und in das Textfile "IP.txt" schreibt.

    Bevor ich da Rad also neu erfinde:

    Gibt's sowas schon?
    und
    Kann meine Idee sinnvoll sein?

    Danke!
    A. Geigenberger

    Einmal editiert, zuletzt von Aliobaba (18. März 2015 um 00:30)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!