Mittwoch, 6. August 2014

DNS Aktualisierung einer Strato Domain mit dem Raspberry Pi


Wenn ihr eine eigene Domain bei Strato habt und diese gerne für euer zu Hause nutzen wollt, könnt ihr auf dem Raspberry Pi einen DynDNS client installieren.

Dieser teilt dem Strato Server immer eure aktuelle IP Adresse mit sodass eure Domain immer auf diese IP Adresse verweist.

Zuerst müsst ihr hierfür bei Strato für eure Domain DynDNS aktivieren:

  1. meldet euch bei Strato an und geht zur Verwaltung eurer Domain
  2. klickt unter "Einstellungen" auf "DNS Einstellungen"
  3. dann auf "verwalten" neben "Dynamic DNS"
  4. aktiviert DynDNS und klickt auf "Einstellungen übernehmen"
Nun muss noch ein DynDNS Passwort eingestellt werden:
  1. links auf "Sicherheit" klicken
  2. "Passwörter festlegen" auswählen
  3. unter "Dynamic DNS Passwort" ein Passwort festlegen und speichern
Jetzt könnt ihr auf dem Raspberry Pi das Programm ddclient installieren:
sudo apt-get update
sudo apt-get install ddclient

nun müsst ihr noch die Konfigurationsdatei anpassen:
sudo nano /etc/ddclient.conf

sodass diese so aussieht:
pid=/var/run/ddclient.pid
protocol=dyndns2
use=web
ssl=yes
server=dyndns.strato.com/nic/update
login=example.de
password='passwort'
example.de

example.de durch die zu aktualisierende Domain und passwort durch das bei Strato vergebene Passwort ersetzten.

Die Konfiguration kann man mit:
sudo ddclient -daemon=0 -debug -verbose -noquiet
testen am Ende sollte "SUCCESS" stehen.

nach einem Neustart wird eure Domain automatisch aktualisiert.

Quelle: http://simonwoker.wordpress.com/2009/04/29/strato-und-dyndns-mit-ddclient-unter-ubuntu/

18 Kommentare:

  1. Stand heute 15.12.14
    #ssl=yes // <-- unbedingt weglassen
    server=dyndns.strato.com
    .
    .

    AntwortenLöschen
  2. Strato hat SSL abgeschaltet.

    AntwortenLöschen
    Antworten
    1. bei mir funktioniert SSL genau wie bei dem Kommentar weiter unten weiterhin

      Löschen
  3. Hmmm, bei mir geht es mit ssl ....
    Da mein Telecom-Router ja nur die "Teuren nicht freien" anbietet ist das eine gute
    Alternative....

    greetz
    Charly

    AntwortenLöschen
  4. also geht ssl nun oder nicht?
    ssl wird doch in diesem fall nur für die übermittlung der neuen ip benutzt. ist das denn so wichtig hier ssl zu nutzen?

    AntwortenLöschen
  5. Falls die Angabe SSL nicht in der config steht, wird das automatisch ausgehandelt.
    Leider praktiziert Strato komische Gepflogenheiten.
    Bei neueren Accounts wird anders gehandelt als bei älteren.
    Die neueren unterliegen höheren Sicherheitsanforderungen.
    Das betrifft nicht nur dyddns.

    Gruß

    AntwortenLöschen
  6. Wenn kein SSL verwendet wird, dann werden die Benutzernamen und Passwörter im Klartext übertragen. Mit diesen Daten kann man sich dann wunderbar bei Strato anmelden. Also immer SSL verwenden alles andere wäre grob fahrlässig.

    AntwortenLöschen
  7. Bei mir hat es auch irgendwann angefangen mit SSL nicht mehr zu funktionieren. Einmal den letzten schritt ohne SSL ausführen, 5 min warten, SSL wieder einschalten. Dann gehts.

    AntwortenLöschen
  8. Also Stand jetzt (Jan 2016) funktioniert die oben im ursprünglich beschrieben Post angezeigte Config.
    Die Config, die einem der Wizard erzeugt, hat bei mir (Debian Jessi) nicht funktioniert, weil er die interne Adresse genommen hat. Also darauf achten, dass
    "use=web" drin steh und nicht "use=if, if=eth0"

    AntwortenLöschen
  9. Mich würde ja noch interessieren wie es bei Strato mit IPv6 und DynDNS inzwischen aussieht. Können die das inzwischen oder glauben die immer noch nicht an IPv6 :-)

    AntwortenLöschen
  10. für Wheezy muss in /usr/share/perl5/IO/Socket/SSL.pm folgendes geändert werden.

    #use constant DEFAULT_VERSION => 'SSLv23:!SSLv2';
    use constant DEFAULT_VERSION => 'TLSv1';

    AntwortenLöschen
  11. Also bei mir funktionierte es so wie oben beschrieben, meine domain hatte ich gerade eben vorher bei Strato registriert. Allerdings hatte ich erst sonderzeichen (ein %) im Passwort, dass ging nicht (oder strato hatte noch nicht fertig eingerichtet...). Vielleicht muss man aber auch url-encodierte PW machen. Ohne Sonderzeichen hat es dann im zweiten Anlauf gefunzt.

    AntwortenLöschen
  12. mein ddclient unter CentOS hat's sofort gemacht, auch mit SSL wie oben beschrieben.
    Danke für diesen brauchbaren Eintrag :)

    AntwortenLöschen
  13. Bei mir hatte zur Ermittlung meiner öffentlichen IP der interne Web-Server von ddclient nicht richtig funktioniert und mir folgende Meldung nach Systemstart im daemon.log angezeigt: `WARNING: cannot connect to checkip.dyndns.com:80 socket: IO::Socket::INET: Bad hostname 'checkip.dyndns.com'`
    Die Lösung für mich bestand darin `curl` anstelle des internen Web-Servers zu nutzen.

    Dazu folgende Schritte:
    1. Ein Shell-Skript mit dem Inhalt `curl checkip.dyndns.com` oder `curl checkip.amazonaws.com` bspw. unter `/usr/bin/checkip.sh` anlegen und ausführbar machen.
    2. In der ddclient.conf anstelle von `use=web` also `use=cmd, cmd=/usr/bin/checkip.sh` verwenden.
    Ich hoffe, dass dies einigen hilft...

    AntwortenLöschen
  14. Habe Probleme mit folgender Fehlermeldung:

    RECEIVE: badauth 0.0.0.0
    FAILED: updating xxx.de: badauth: Bad authorization (username or password)

    Einen Tippfehler kann ich ausschließen. Woran könnte es liegen?

    AntwortenLöschen
  15. Kann man das so einstellen das er ohne einen neustart des raspis die ip ip updupdt ? Bei mir läuft's aber mit dem Problem das er sie ohne denn test befehl nicht updatet

    AntwortenLöschen
    Antworten
    1. ich verwende das setup nicht mehr. den neustart kann man wahrscheinlich umgehen, indem man den ddclient service direkt startet:

      sudo systemctl status ddclient

      Löschen