DynDNS Dienst für Heimwerker und Dummies

  • Hallo,

    Mein Beitrag und mein Gedankengang, selber einen "DynDNS-ähnlichen" Dienst einzurichten stößt offenbar auf ein größeres Interesse.
    DynDNS-Dienste umgehen?
    Weil mich Anfragen nach konkreterem Vorgehen erreicht haben, habe ich für nicht so versierte Computer-Anwender das Thema nochmal genauer erläutert:

    … der Titel "Dummies" soll natürlich keinesfalls eine Herabwürdigung von Leuten sein, die mit Computern „nichts am Hut haben“! Ich bin nur selber auch so ein Dummy und kann mich vielleicht deshalb besonders gut in die Situation von nicht so computer-versierten Leuten hineinversetzen. Die bekannte Dummy-Buchreihe beleidigt ja auch nicht Millionen von Lesern.

    Wo ist das Problem? Wenn Sie einen eigenen Web-Server oder FTP-Server auf dem heimischen Rechner betreiben wollen, dann stehen Sie vor dem Problem, dass Ihre IP von Ihrem Provider tagtäglich geändert wird (*01). Um übers Internet auf den heimischen PC oder das Heimnetz zugreifen zu können, muss dieses unter einer festen Internet-Adresse erreichbar sein (*02). Um dies zu erreichen, kann man "professionelle" Dienstleister in Anspruch nehmen. Die verschiedenen DynDNS-Dienste sind aber mittlerweile ja oft kostenpflichtig bzw. man muss sich regelmäßig auf der Web-Seite "in Erinnerung" rufen, damit dieser Dienst nicht plötzlich seine Arbeit einstellt. Dies ist ziemlich lästig!

    Mit Hilfe dieser Webseite (*03) habe ich es recht leicht geschafft, auf die auf meine auf meinem Raspberry gespeicherten Web-Seiten zuzugreifen. Dieses winzige PHP-File funktioniert prima! (Näheres bitte auf der Web-Seite von Axel Teichmann)

    Das Ganze funktioniert aber nur unter Zuhilfenahme einer Fritz-Box und dem dortigen "Dyn-DNS-Dienst". Auf diese Abhängigkeit würde ich aber gerne auch noch verzichten. Es müßte doch möglich sein, so mein Gedanke, seinen Raspberry dazu zu bringen, regelmäßig eine Web-Seite aufzurufen, die die aktuelle IP in ein Textfile schreibt!!! Dann hat man auf seiner Web-Seite ein einfaches Text-File in dem stets die eigene IP-Nummer in der aktuellen Form bereit ist!!

    Und das funktioniert erstaunlich einfach!

    Sie brauchen natürlich schon einen Provider, bei dem Sie einen eigenen Web-Space hosten, mein Provider z.B. ist http://www.domaingo.de/ . Legen Sie eine von außen erreichbare Subdomain an. Meine Subdomain heißt zum Beispiel: http://www.adns.n-bay.de/ . Die URL "http://www.n-bay.de" ist die auf meinen Namen registrierte URL und der "adns"-Zusatz definiert meine Subdomain. Solche Subdomains sollte Ihnen Ihr Provider in beliebiger Anzahl anbieten.

    Erstellen Sie mit einem einfachen Text-Editor ein File und geben Sie diesem File zum Beispiel den Namen "my_ip.php" (Kleine- und Großbuchstaben beachten!). Schreiben Sie in dieses Textfile folgenden Text:

    <?php
    $ip = $_SERVER["REMOTE_ADDR"]; // Die aktuelle IP wird ermittelt
    $handle = fopen ("ip.txt", w);
    fwrite ($handle, $ip); // Die aktuelle IP wird in die Datei "ip.txt" eingetragen
    fclose ($handle);
    ?>

    Dieses php-File laden Sie nun auf Ihren Webspace in den Unterordner auf den Ihre Subdomain zugreift. Dieses winzige File macht nun nichts anderes als dass es Ihre aktuelle IP-Nummer in die Textdatei "ip.txt" schreibt. Dieses Fiile "ip.txt" müssen Sie ebenfalls einmalig manuell auf Ihrem Webspace anlegen. Sie selbst können dieses File leer lassen.

    Wenn Sie nun dafür sorgen möchten, dass dieses File "ip.txt" regelmäßig aktualisiert wird, dann bietet sich natürlich ein Raspberry an, da der kontinuierliche Betrieb dieses kleinen "Wunders" Sie kaum Strom kostet. Das regelmäßige Aufrufen des obigen PHP-Files und damit die regelmäßige Aktualisierung der IP-Nummer können Sie von einem "Cronjob" auf Ihrem Raspberry übernehmen lassen
    Miit diesem crontab Eintrag wird z.B. minütlich die IP von meinem Raspberry aus aktualisiert:

    */1 * * * * root wget -q http://www.adsn.n-bay.de/my_ip.php
    (Die Filenamen auf meinem Webserver lauten natürlich anders, auch müssen Sie natürlich den Pfad anpssen)

    Ob es wirklich nötig ist, die Aktualisierung minütlich machen zu lassen, kann man diskutieren. Dieses winzige PHP-Programm wird aber kaum Rechenzeit und Traffic bei Ihrem Provider verursachen. Der Download eines ganzen Films z.B. verursacht einen Traffic, den Sie mit diesen Aktualisierungen wahrscheinlich ein Leben lang nicht erreichen. Ich meine also, man muss kein schlechtes Gewissen haben.

    So! Damit haben Sie stets Ihre aktuelle IP-Nummer auf Ihrem Webspace Ihres Providers abrufbar in dem Textfile "ip.txt".

    Erstellen Sie mit Ihrem Text-Editor ein weiteres PHP-File, z.B. "MyWebsite.php" (Bitte wieder Groß- und Kleinschreibung beachten!). Schreiben Sie in dieses File folgenden Text:

    <?
    $dyntxt = "ip.txt"; // Die aktuelle IP wird aus der Datei "ip.txt" ausgelsen
    $port = ':80/MyGPGNoSpy/'; // MyGPGNoSpy = Beispiel für einen "Unter-Ordner"
    header('Location: http://'.file_get_contents(%24dyntxt).%24port); // Die IP wird aufgerufen
    ?>

    Laden sie auf Ihren Webspace auch dieses File. Das war eigentlich schon alles!

    Die Webseite, die dieses zweite PHP-File von Ihrem Raspberry abruft lautet also so:
    http://www.adsn.n-bay.de/MyGPGNoSpy.php
    Den "Quellcode" dieser Webseite speichern Sie natürlich vorher auf Ihrem Raspberry im Verzeichnis /var/www/ ab. Auf diesem Verzeichnis können Sie beliebig viele verschiedene Web-Seiten abspeichern. Wenn Sie ein entsprechend verändertes "zweites" PHP-File auf Ihre Subdomain legen, dann ist der Aufruf weiterer Webseiten besonders einfach.
    Ein kleine Tip: Wenn Sie Ihr "zweites" PHP-File "index.php" nennen, dann genügt als Aufruf-URL (in unserem Beispiel): http://www.adsn.n-bay.de/ (also ohne Angabe des Namens des "PHP-Files".

    ... recht nett ist auch der FTP-Server! (Zum Einrichten auf Ihrem Raspberry gibt es hier ( https://www.forum-raspberrypi.de/ ) jede Menge sehr gute Artikel!)

    Sie sehen nach dem Aufruf Ihrer "Raspberry-Webseite" die IP in Ihrem Browser: z.B.: 79.237.xxx.xxx. Diese ändert sich durch die Zwangstrennung des Providers ja spätestens alle 24 Stunden.
    Wenn Sie diese IP in einen FTP-Client eintragen und den von Ihnen festgelegten Benutzernamen mit Paswort eingeben, dann greifen Sie direkt auf ein freigegebenes Unterverzeichnis des Raspberrys in meinem Wohnzimmer zu:
    (Für Tips, wie man so einen FTP-Server direkt mit einem PHP-File aufruft, wäre ich sehr dankbar!)

    Eine faszinierende ganz persönliche und private "Cloud"!!!

    Glauben Sie nun nicht, dass diese Webseiten langsam sind und träge reagieren!!!
    Hier einige "Musterbeispiele" von meinem "persönlichen "Raspy":
    --> http://www.adns.n-bay.de/test_b.php
    oder wenn das "Weiterleitungs-File "index.php" heißt, dann genügt die Angabe zum Ordner, in dem das File "index.php" ist:
    --> http://www.adns.n-bay.de

    oder ein Forum mit beachtlicher Größe mit angeschlossenem MYSQL-Server(!!!) (natürlich auch auf dem Raspberry!!!!):
    -->> http://www.adns.n-bay.de/doc_test.php
    (Für ein ständiges "online-sein" meines Raspberry kann ich aber keine Garantie geben; bitte um Verständnis!)

    Nun hoffe ich, dass ich einigen Besuchern hier helfen konnte und ein klein wenig von dem zurückgeben konnte, was mir dieses Forum bereits an Hilfestellung gegeben hat!!

    Viel Spaß!

    A. Geigenberger

    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

    Nachtrag: Damit erreichen Sie eine Übersichtsseite auf meinem Raspberry mit weiterführenden Links:
    http://www.adns.n-bay.de/a_stamm_aufruf.php

    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

    Fußnoten:
    (*01) : http://praxistipps.chip.de/dynamische-und…erschiede_13536
    (*02) : http://www.pcwelt.de/ratgeber/DynDN…os-5680355.html
    (*03) : http://www.axelteichmann.de/DynamicDNS/ind…it-Fritzbox.php

    Einmal editiert, zuletzt von Aliobaba (23. März 2015 um 06:56)

  • Danke, Tell, für das Kompliment - und auch für die Kritik!

    Aber ich bin tatsächlich ein "Dummy" und hätte gerne eine Funktion, mit der ich einen FTP-Client(!) starten kann und auch gleich die Datei öffnen kann, die ich auf auf meinem FTP-Server bereit halte. Problem ist dabei ja die sich ändernde IP-Nummer.

    Also so ähnlich wie bei einem Browser: Dieser macht ja auch sofort die Webseite auf, auch wenn sich die IP-Nummer Nummer ständig dynamisch ändert.

    Wie könnte man das lösen?

    Viele Grüße
    A. Geigenberger


  • Danke, Tell, für das Kompliment - und auch für die Kritik!

    Aber ich bin tatsächlich ein "Dummy" und hätte gerne eine Funktion, mit der ich einen FTP-Client(!) starten kann und auch gleich die Datei öffnen kann, die ich auf auf meinem FTP-Server bereit halte. Problem ist dabei ja die sich ändernde IP-Nummer.

    Also so ähnlich wie bei einem Browser: Dieser macht ja auch sofort die Webseite auf, auch wenn sich die IP-Nummer Nummer ständig dynamisch ändert.

    Wie könnte man das lösen?

    Viele Grüße
    A. Geigenberger

    Statt http:// ftp://


    Eine faszinierende ganz persönliche und private "Cloud"!!!

    Cloud ?
    Unsinn.
    Das ist eine einfache Weiterleitung einer Webseite und hat mal absolut GAR NIX mit Dynamischen DNS zu tun.

    Es wird weder ftp adns.n-bay.de noch ssh adns.n-bay.de funktionieren.
    Geschweige denn WebDAV.

    Ein "echter" DynDns bei http://no-ip.com ist für Lau zu haben.
    Wenn es also über das Anzeigen einer Webseite hinaus geht ist dein gebastel Murks.
    IMHO !

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?

    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

    Einmal editiert, zuletzt von Der_Imperator (19. März 2015 um 11:22)

  • Ein wenig irritiert von diesem Ton bin ich jetzt zwar schon. Ich wollte eigentlich nur helfen und meine (Dummy-)Erfahrungen weiter geben, auch wenn sie einem Profi trivial erscheinen mögen :s
    Egal, es gibt halt solchen Menschen! Man denkt sich eben seinen Teil, kein Problem!
    Aber trotzdem ein kleiner Hinweis: Den Zusammenhang mit einer "Cloud" stellte ich nicht mit der Weiterleitung einer Webseite her sondern mit meiner Frage(!) nach einem FTP-Server. Und der ist einer "Cloud" schon ein klein wenig ähnlicher als eine Webseite.

    Trotzdem:
    Einen schönen Tag noch "Imperator" (und viel Erfolg noch im Leben!)

  • Du bist vom Ton irritiert, ich vom Tiutel des Thread.

    Der Titel des Thread ist : DynDNS Dienst für Heimwerker und Dummies

    Weiterleitung einer Webseite ist Weiterleitung.
    DynDNS ist Dynamische Namensauflösung eines DNS Servers.

    Mir ist schon klar was du vorhast. Wenn du allerdings von DynDNS Ersatz redest dann stell das auch klar ?
    Grade wenn man Anfänger anspricht !

    Es kommen dann mit Sicherheit fragen wie :
    Ein SSH auf http://www.meine.subdomain.de funktioniert nicht. Woran kann das liegen ?
    Dann wird nach langem hin und her auf diesen Thread hier verwiesen und ich habe wieder Staunden meiner kostbaren Lebenszeit umsonst geopfert.

    btw : Ein FTP Server ist ein FTP Server und keine Cloud. Eine Clould ist eine Cloud.
    ( http://de.wikipedia.org/wiki/Cloud_Computing )

    Zitat


    Das Ganze funktioniert aber nur unter Zuhilfenahme einer Fritz-Box und dem dortigen "Dyn-DNS-Dienst".

    Das ist auch absolut FALSCH !
    Es gibt ein Stück Software für den PI.
    Du kannst es auch über einen Cronjob machen, genau so wie du jetzt deinem Webserver die IP mitteilst, per http request.
    Das kommt auf den DynDNS Dienst an.

    Nicht böse gemeint, aber wenn du schon Anfängern eine Hilfestellung geben möchtest, dann mach es richtig und weise auf die Stolperfallen hin. Erzähle keinen Blödsinn sondern mach dich erst mal schlau.
    Was du Anfängern bei bringen möchtest sollte schon Hand und Fuß haben.

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?

    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

  • Hallo,

    Ich erlaube mir, hier nochmal zu posten. Meine Begeisterung läßt mir keine Wahl, entschuldige mich aber jetzt bereits, wenn manche Dinge nicht so ganz "profimäßig" rüberkommen.

    Der Zugriff auf den häuslichen Raspberry-FTP-Server ist eigentlich einfacher als ich vermutet habe :)

    Man braucht das oben gezeigte File "MyWebsite.php"

    <?
    $dyntxt = "ip.txt"; // Die aktuelle IP wird aus der Datei "ip.txt" ausgelsen
    $port = ':80/MyGPGNoSpy/'; // MyGPGNoSpy = Beispiel für einen "Unter-Ordner"
    header('Location: ftp://'.file_get_contents($dyntxt).$port); // Die IP wird aufgerufen
    ?>

    ja lediglich nur folgendermaßen modifizieren:

    <?
    $dyntxt = "ip.txt"; // Die aktuelle IP wird aus der Datei "ip.txt" ausgelsen
    $port = ':21/';
    header('Location: ftp://'.file_get_contents($dyntxt).$port); // Die IP wird aufgerufen
    ?>

    und dieses File dann unter einem anderen Namen z.B. "MyFTP.php" wieder hochladen :)

    Mit der URL:
    http://www.adsn.n-bay.de/MyFTP.php
    öffnet dann der Browser (jedenfalls mein Firefox macht das so) im "FTP-Modus". Damit lassen sich dann die auf dem heimischen Raspberry befindlichen Files dann downloaden.

    Dies funktioniert recht ordentlich. Wenn Sie möchten können Sie das mit meinem Raspberry ausprobieren:

    http://www.adns.n-bay.de/ftp01.php -> Benutzer: "doc" Passwort "doczudoc" (alles kleingeschrieben!!)

    Allerdings: Ein "echter" FTP-Client ist ein Browser nicht. Der Download funktioniert prima. Zum Hochladen von Dateien muss man dann doch einen "echten" FTP-Client manuell starten und die obigen Zugangsdaten eingeben. Als Server müssen Sie die URL eingeben, die Ihnen Ihr Browser im URL-Feld anzeigt.

    Ich finde, damit kann man gut leben! Weltweit hat man so Zugang zu seinen heimischen Daten (ich nenne das nun einfach nochmal "Cloud" :shy: , auch wenn der Begriff nicht ganz exakt richtig ist )
    Schön wäre natürlich schon ein "direkter" Aufruf eines "echten" FTP-Clients.
    Vielleicht hat ja hier jemand noch eine Idee.

    Viele Grüße
    A. Geigenberger

  • OK, wir nennen es mal deine Cloud ;)
    Dann machen wir mal nen Schuh draus :
    Wenn du Standart Ports nimmst dann benötigst du die Portangabe nicht. Das ergibt sich aus der Protokoll angabe.
    http = 80
    https = 443
    ftp = 21

    Die Liste lässt sich beliebig erweitern, je nachdem was du deinem Browser beibringst.
    Unter Windows gent auch einen Telnet und ssh Protokoll Händel einzutragen.
    in der Registery, hab ich vor Urzeiten mal unter XP gemacht.

    leg eine Datei an, meindienst.php

    Aufruf jetzt :
    Für Webseite :
    http://www.adsn.n-bay.de/meindienst.php

    Für verschlüsselte Webseite (https):
    http://www.adsn.n-bay.de/meindienst.php?proto=ssl

    Für FTP:
    http://www.adsn.n-bay.de/meindienst.php?proto=ftp

    Wenn du Firefox benutzt dann lad die das Addon >>FireFTP runter. Dann in den Einstellungen des Addon ein Haken setzen bei
    Für FTP Links in Firefox automatosch FireFTP benutzen.

    Und schon passt das auch mit dem Upload ;)

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?

    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

    Einmal editiert, zuletzt von Der_Imperator (20. März 2015 um 20:54)

  • Hallo Imperator.

    ... und ich dachte schon, du hast überhaupt keine Freunde :)


    Dann machen wir mal nen Schuh draus :


    Wie schön, dass es Dich gibt!!

    So - und jetzt Schluß mit Sticheleien - aber ich habe ja nicht angefangen:
    "Erzähle keinen Blödsinn sondern mach dich erst mal schlau."
    "Wenn es also über das Anzeigen einer Webseite hinaus geht ist dein gebastel Murks."

    Ja, es stimmt, ich bin wirklich Anfänger und noch nicht so erfahren; aber ist ein Forum nicht dazu da, Erfahrungen auszutauschen und selber zu lernen? Wenn man dabei dann nicht sofort angeschnauzt wird, macht das echt Spaß. Und für einen Anfänger ist es oft nicht so einfach zu erkennen, was schon "Allgemeinwissen" ist und was nicht.

    Für Deinen Hinweis bzgl. des Aufrufs von FireFTP bin ich sehr dankbar: Funktioniert Klasse, sowohl unter Linux als auch unter Windows: Danke!

    Dass man bei Standard-Ports keine Portangaben braucht, wusste ich. Ich meine halt, es schadet nichts, sie anzugeben, da dann bei "ungewöhnlicheren" Konfigurationen das Script immer noch funktioniert.

    Dein "meindienst.php" ist pfiffig. Wenn man aber pro selbst gehostete Webseite eine eigenes PHP-File aufruft, dann kann man den Aufruf ja spezifisch "voreinstellen", sozusagen "statisch einkompilieren", so dass dann eine Protokoll-Abfrage nicht mehr nötig ist.

    Eine gaanz wichtige Sache habe ich noch vergessen! Danke für den Hinweis PiJoe:


    ....Wie sieht es da denn mit Portweiterleitungen usw. aus?

    ... und jetzt folgt wieder ein (sicher verbesserungsfähiger) Tip von einem Anfänger an andere Anfänger:
    Natürlich muss man dem heimischen Router sagen, wie er den Raspberry im Netz findet.(Ich verwende zu Hause statische IP's)
    Bei der FritzBox geht das so:

    forum-raspberrypi.de/attachment/5746/
    forum-raspberrypi.de/attachment/5747/

    Viele Grüße
    A. Geigenberger

    Nachtrag: Warum meine Bildchen (.png-Format) nicht angezeigt werden, weiß ich nicht. Die Portfreigaben sind in der Fritzbox z.B. da einzutragen: Internet -> Freigaben -> Portfreigaben
    (Dynamic-DNS braucht man auf der FritzBox nicht zu aktivieren!! :D )

    Einmal editiert, zuletzt von Aliobaba (21. März 2015 um 07:52)

  • Hallo,
    soeben stelle ich fest, dass auch der SSH-Zugang über PuTTY problemlos funktioniert: Ich musste lediglich den Port 22 auf meiner FritzBox auf meinen Raspy richten :D . Die aktuelle IP kriege ich ja, wenn ich irgendeine Web-Seite auf meinem Raspberry aufrufe.
    Entschuldigt bitte meine Euphorie: Ich fühle mich wahrscheinlich wie ein Kind, das zu Weihnachten sein neues Spielzeugauto ausprobiert.

    A. Geigenberger

Jetzt mitmachen!

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