(Deutsch) DynDNS Service – Marke Eigenbau [Update]

Sorry, this entry is only available in German.

Tagged , , , , , , ,

22 thoughts on “(Deutsch) DynDNS Service – Marke Eigenbau [Update]

  1. Stefan says:

    Okay. Das mit dem Logging bekomme ich nicht hin.
    aktiviert, dyn.MYDOMAIN.de, IPv4-Status: Account temporär deaktiviert, IPv6-Status: unbekannt
    Das ist der Fehler. Vermutlich hängt das mit Kabel Deutschland und IPv6 zusammen…

  2. Stefan says:

    Moin,

    ich hoffe hier gibt es noch aktivität.

    Erstmal vielen Dank für deine Tuto.
    Bei mir klappt es soweit.

    Wenn ich im Browser zb.

    h**p://MYDOMAIN.de/dyn_update.php?ip=8.8.8.8&user=dyndns&pass=PASSWORD&domain=dyn.MYDOMAIN.de

    aufrufe. Habe ich im DNS wunderbar die IP hinterlegt. Das klappt.

    Aber leider nicht in meiner FB. Habe ein 6490 Cable und die sagt mir immer irgendwas mit Benutzername und Kennwort falsch oder Zeitüberschreibung. Zudem habe ich das gefühl, dass mein vServer das nicht mag 😀

    Hast du einen Tipp für mich?

    • Tim says:

      Spontan leider nicht, ohne die Fehlermeldung direkt zu sehen.

      Du könntest im Script Logausgaben schreiben, damit du siehst ob die FB alles korrekt übermittelt hat.
      Sind die Variablen in der Url korrekt? Die FB ersetzt folgende Platzhalter:
      <username> – Mit dem Benutzernamen
      <pass> – Mit dem Passwort
      <ipaddr> – Mit der IP-Adresse
      <domain> – Mit der Domain

      Die Spitzen Klammern, müssen ebenfalls angegeben werden. Bsp.:
      http://domain.de/dns/update.php?user=<username>&pass=<pass>&domain=<domain>&ip=<ipaddr>&ver=1

      Tim

      • Stefan says:

        Okay. Ich probiere es heute abend nochmal aus.
        Wie schalte ich Logging in dem Script ein?
        Die Fehler kann auch heute Nachmittag liefern.

        PS: Sorry hätte auf Antworten klicken sollen. Kannst den anderen Post löschen.

        • Tim says:

          Mein original Script hat keine Möglichkeit Logging “einzuschalten”. Was ich meinte, war: passe es an und baue logging Funktionen ein. Das sollten beides nur Anregungen zur Fehlersuche sein.

          Finden musst du deine Fehler aber leider selbst…

  3. Martin says:

    Boah ey. Ich bekome zum verrecken die DNS-Konfig nicht gebacken. (ISP-Config)
    Kannst Du mir nen Tip geben?

  4. Tom says:

    Hi Tim,

    ok nun habe ich auch die soap_config.php gefunden, hatte sie die ganze Zeit in den Installationsdateien auf dem Server gesucht und nicht in der downloadbaren Version. Muss in dieser Datei bzw. in der update.php noch etwas angepasst werden? Vielen Dank noch mal für die Hilfe…ich hoffe der Urlaub war sonnig…

    Viele Grüsse
    Tom

    • Tim says:

      Hallo Tom,

      das kann ich dir Auswendig gerade nicht mehr sagen. Warum fragst du denn? Hast du ein spezielles Problem?

      Tim

      • Tom says:

        ja, dieses:

        SOAP Error: Could not connect to host

        • Tim says:

          Das klingt, als müsstest du die Adresse deines Servers noch eintragen. Wenn du in die soap_confi rein schaust, müsstestvdu das sehen können.

          ISPConfig läuft aber auf deinem Server? Oder?

          Der Artikel oben ist ab Schritt 4 auch nur noch eine grobe Richtlinie und nicht wirklich eine Schritt für Schritt Anleitung.

          Tim

  5. Tom says:

    Hi Tim,

    ich habe da mal bitte 2 Fragen:

    Wo finde ich die soap_config.php? Hab mich schon wund gesucht
    Muss diese in das Verzeichnis kopiert werden wo die update.php liegt?

    Viele Grüße
    Tom

    • Tim says:

      Hallo Tom,

      die soap_config.php ist Teil von ISPConfig 3 (http://www.ispconfig.de/ispconfig-3/). Sie befindet sich bei den Beispielen für User-Scripts unter: remoting_client\examples.

      Entweder du kopierst das File in das gleiche Verzeichnis in das du die update.php legst oder du legst die update.php in das Verzeichnis der soap_config.php. Ich würde Variante 1 bevorzugen. Außerdem könntest du natürlich den Import so anpassen, dass sie aus den examples importiert wird.

      Bitte beachte aber, die update.php funktioniert zwar so wie sie ist, macht aber keinerlei Input Validierung.

      Außerdem musst du in ISPConfig einen Benutzer einrichten, der das Recht hat die DNS Werte zu ändern. Das geht unter: System/Remotebenutzer. Mindestens die Rechte “DNS Zone” und “DNS a” müssen für die beiliegende update.php gesetzt sein.

      PS: Sorry, dass es 3 Tage gedauert hat. War im Urlaub…

      Grüße
      Tim

  6. Kai says:

    Danke Tim für diesen Artikel und Leitfaden.
    Ergänzt mit den 3 Zeilen von Marc fluppt das ganze.

    Ich habe mir noch ein kleines Shellskript gebastelt um jetzt endlich meine verteilten Kiosksysteme mit meinem eigenen Dyndns Dienst zu beliefern.
    *Thumbs up*

  7. Marc Heubes says:

    Hallo Tim!

    Vielen Dank für den tollen Einfall.
    Grundsätzlich funktioniert das schon.

    Praktisch habe ich aber ein Problem:
    Die “Serial” der Zone wird durch das PHP-Skript nicht hochgesetzt. Dadurch funktioniert die Replikation zu meinem zweiten DNS nicht.

    Hast du oder jemand anderes hier dazu einen Einfall?

    Grüße,
    Marc.

    • Tim says:

      Hallo,

      leider nein. Ich verwende keine Replikation und mein Script “redet” ja mit der Verwaltung von ISPConfig. Wie hiernach weiter verfahren wird, weiß ich leider nicht.

      Grüße

      • Marc Heubes says:

        Hey Tim,

        eigentlich muss die Serial auch erhöht werden, wenn keine Replikation verwendet wird. Sonst kann man nicht sicher sein, dass sich alle DNS-Server weltweit wirklich immer die neuste Zonen-Information holen.
        Bei Replikation auf einen secondary DNS geht ohne die aktualisiere Serial tatsächlich gar nichts.

        Da ISPCONFIG ein großartiges Projektist, hat Till mir direkt geholfen:
        http://www.howtoforge.de/forum/entwicklerforum-15/dyndns-mit-ispconfig-8089/#post40601

        Im Grunde müssen nur die drei Zeilen:
        $zone = $client->dns_zone_get($session_id, 666);
        $zone[‘serial’] = $zone[‘serial’] + 1;
        $affected_rows = $client->dns_zone_update($session_id, 0, $zone[‘id’], $zone);

        in dein Skript ergänzt werden, um die Serial zu erhöhen.

        Die 666 muss gegen die ID der Zone aus der MySQL ersetzt werden.
        Rennt 1a.

        Ist damit 100 % konform und klappt auch bei Replikationsszenarien.

        Besten Dank für deinen Einfall – mit der Serial-Ergänzung für mich wirklich die perfekte Lösung!

        Grüße,
        Marc.

  8. fireba11 says:

    *hüstel* input validieren *hüstel*

    • Tim says:

      Hallo,

      selbstverständlich muss der Input validiert werden. Ich wollte nur die allgemeine Funktion verdeutlichen, keine Kopiervorlage zur Verfügung stellen.

      Grüße

  9. kay says:

    Also das klingt echt interessant. Ich suche gerade input, da auch ich gern von den dyndns Providern wegkommen möchte.
    Denkst du, das ließ sich auch auf einem vserver umsetzen?
    Ich übgerade, was man bei den NameServer des Providers eintragen müsste.
    Hintergrund ist ja dass Anbieter wie Server4you oder auch 1blu begrenzte Optionen für die Nameserver-Einträge zulassen.
    Diese müsste man dann ja auf den eigenen Nameserver des Vserver “biegen”,um dann weitere Einstellungen lokal vorzunehmen.
    Bin da noch nicht ganz schlüssig, wie dass speziell bei de Domains geht, die ja zwei sichere Nameserver verlangen.

    • Tim says:

      Hallo,

      prinzipiell funktioniert das natürlich auch auf vServern. Ob virtualisiert oder nciht spielt ja keine Rolle. Bei meinem Anbieter (übrigens auch ein vServer) habe ich vollen Zugriff auf die Nameserver-Zone für meine Domains. Damit lässt sich leicht die entsprechende Subdomain eintragen und auf einen auf dem vServer installierten DNS Dienst verweisen. Ob du entsprechende NS-Einträge

      dns.domain.tld 1800 IN NS ns1.domain.tld und
      dns.domain.tld 1800 IN NS ns2.domain.tld

      vornehmen kannst, weiß ich natürlich nicht. Umbiegen musst/solltest du hier aber ncihts, da deine alten Einstellungen ja alle erhalten bleiben. Die Einträge sind zusätzlich udn verlagern nur die auflösung weiterer “Subdomains” an einen weiteren Nameserver.

      Die Anforderung 2er sicherer Nameserver ist mir jetzt ehrlich gesagt nicht bekannt, daher kann ich dazu auch nichts sagen.

  10. Peter says:

    Super, danke funktioniert.
    Hast Du das ganze nochmal gesondert abgesichert z.B. https?

    • Tim says:

      Du meinst sicher für das Updatescript.

      Nein, habe ich nicht. Für meine Zwecke reicht der Schutz über dass Passwort völlig aus, zumal ich ja der einzige bin, der im Falle eines Angriffes nicht mehr auf seinen Server geleitet wird, sondern auf einen anderen.

      Da hinter meinem Anschluss aber keine Sicherheitsrelevanten Dienste zu erreichen sind, deren Daten man durch einen solchen Angriff erlangen könnte, ist das Risiko eher gering.

Comments are closed.