ubuntuusers.de

ubuntuusers.deWikiDynDNS-Clients

DynDNS-Clients

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Ein DynDNS- oder dynamischer Domain-Name-System-Eintrag bewirkt, dass ein Rechner oder Router, der eine wechselnde IP-Adresse besitzt, immer über den gleichen Domainnamen angesprochen werden kann. So kann man auch bei einer dynamischen IP-Adresse - wie es derzeit bei DSL üblich ist - einen bequem erreichbaren FTP- oder Webserver betreiben.

Die aktuelle IP wird von einem kleinen Client-Programm bei jeder Neueinwahl in das Internet an den DynDNS-Dienst übertragen. Dieser verknüpft dann die neue IP mit dem Domainnamen. Danach kann der Rechner sofort unter dem bekannten Namen erreicht werden. Allerdings sollte man darauf achten, dass die Einwahl nicht zu häufig pro Tag geschieht, da sonst manche der kostenlosen DynDNS-Dienste Probleme bereiten können ("fair use policy").

Hinweis:

DynDNS.org hat seinen freien Dienst Ende 2011 eingestellt und bietet nur noch Neu-Registrierungen für kostenpflichtige Leistungen an (siehe auch What happened to Free Accounts {en}). Bereits bestehende Konten sind nicht betroffen.

Eine aktuelle kostenlose Alternative ist z.B. freedns.afraid.org {en} - leider nur in Englisch und mit unübersichtlicher Funktionsfülle, dafür mit bis zu 5 Subdomains sowie IPv4 und IPv6 für Dual-Stack-Nutzung. Alternative Anbieter sind am Ende des Artikels zu finden.

./dyndns-settings.png
Verwaltung bei DynDNS.org

DynDNS.org

Einer der beliebtesten Dienste dieser Art war und ist DynDNS.org {en}. Dort konnte man sich in der Vergangenheit kostenlos und ohne große Schwierigkeiten einen Account erstellen. Um das Angebot nutzen zu können, muss man sich dort registrieren. DynDNS selber bietet auch kostenpflichtige Dienste an, das Angebot "Dynamic DNS" unter "Services" war jedoch für bis zu zwei Hostnamen kostenlos. Über "My Hosts" => "Add new Host" konnte man nun einen Hostnamen erzeugen. Dabei stand eine Reihe von Domainnamen zur Verfügung, die immer auf .dyndns.* enden. Unter dem ausgewählten Namen kann man in Zukunft den Rechner aus dem Internet erreichen.

Wichtige Einstellungen sind, dass man auf der Einstellungsseite des Hosts "Host with IP address" ausgewählt hat und unten auf der Seite die Optionen aktiviert hat, welche man benötigt. Dadurch werden die entsprechenden Ports freigeschaltet.

./dyndns_router.png
DynDNS bei DD-WRT

Hardware-Router

Geht man über einen Hardwarerouter in das Internet, so kann man sich meist die Installation von Software auf dem eigenen Rechner ersparen. Viele Router besitzen einen eingebauten DynDNS-Client, den man auch nutzen sollte, wenn man den Aufbau einer Internetverbindung einem Router überlässt.

Hinweise zur Einrichtung des DynDNS-Client im Router findet man sicherlich im Handbuch des Routers. Meist führt die Suche nach den Schlagwörtern "DynDNS" oder "DDNS" zu den gesuchten Informationen.

Software

Besitzt man keinen Hardwarerouter oder der genutzte Router bietet die oben beschriebene Funktionalität nicht, so kann man auch ein DynDNS-Clientprogramm auf dem eigenen Rechner installieren. Neben ddclient gibt es noch andere Programme, die im weiteren Verlauf beschrieben werden. Man sollte aber prüfen, ob der gewünschte DynDNS-Dienst vom jeweiligen Programm unterstützt wird.

ddclient

ddclient {en} kann über die Paketverwaltung installiert [1] werden:

  • ddclient (universe )

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install ddclient 

sudo aptitude install ddclient 

Während der Installation wird man nach den Zugangsdaten gefragt. Man sollte sich also schon vorher einen DynDNS-Account besorgen und die Weiterleitungsdomain anlegen. Möchte man nachträglich noch Änderungen an der Konfiguration vornehmen, so editiert man die Konfigurationsdatei /etc/ddclient.conf (siehe Beispiel). Diese muss mit Rootrechten bearbeitet [3] werden.

/etc/ddclient.conf

Befindet sich der Server selber hinter einem Router, der DynDNS nicht unterstützt, so muss ddclient etwas anders konfiguriert werden. ddclient kann die externe Internet-IP von verschiedenen Hardware-Routern auslesen. Diese müssen in der use-Variablen eingetragen werden, z.B.

  • use=linksys

  • use=dlink-614

  • usw.

Eine vollständige Liste der unterstützten (älteren) Hardware-Router findet man auf der Homepage {en}. Alternativ kann ddclient die externe IP auch über eine Webseite abfragen. Dazu muss die Option:

  • use=web

eingetragen werden.

Beispiel für /etc/ddclient.conf:

# Configuration file for ddclient generated by debconf
#
# /etc/ddclient.conf

pid=/var/run/ddclient.pid
protocol=dyndns2
use=if, if=ppp0
# use=web, web=checkip.dyndns.org
server=members.dyndns.org
login=loginname
password=geheim
dyndnsdomainname1.dyndns.org,dyndnsdomainname2.dyndns.org

oder man wiederholt die Konfiguration des ddclient-Paketes in einem Terminal [4] mit

sudo dpkg-reconfigure ddclient 

/etc/default/ddclient

Eine zweite Konfigurationsdatei für ddclient ist die /etc/default/ddclient. In dieser Datei wird festgelegt, wie ddclient arbeiten soll. Es gibt zwei Modi:

  • Daemon: Im Daemon- oder Dienst-Modus läuft ddclient permanent im Hintergrund und überwacht, ob sich die Internet-Adresse ändert.

  • Dial-on-demand: In diesem Modus wird ddclient automatisch aufgerufen, sobald eine Internetverbindung aufgebaut wurde. Dieser Modus eignet sich besonders gut, wenn man eine Internetverbindung nutzt, die nur bei Bedarf hergestellt wird.

# Configuration for ddclient scripts
# generated from debconf on Do Jan 12 22:54:36 CET 2006
#
# /etc/default/ddclient

# Set to "true" if ddclient should be run every time a new ppp connection is
# established. This might be useful, if you are using dial-on-demand
run_ipup="false"

# Set to "true" if ddclient should run in daemon mode
run_daemon="true"

# Set the time interval between the updates of the dynamic DNS name in seconds.
# This option only takes effect if the ddclient runs in daemon mode.
daemon_interval="300"

Sollten Probleme auftreten, kann man mit dem folgenden Befehl Debug-Informationen ausgeben lassen:

ddclient -daemon=0 -debug -verbose -noquiet 

Aktualisieren beim Verbindungsaufbau über PPPoE

Es ist möglich, beim Aufbau oder Trennen der Verbindung Befehle automatisch ausführen zu lassen. Dazu muss die Datei /etc/ppp/ip-up.local angelegt werden. Als Befehl müsste in diesem Fall bspw. einfach nur

1
2
#!/bin/bash
ddclient

eingetragen werden. Weitere Informationen hierzu findet man im Artikel DSL ohne Router.

ez-ipupdate

Dieses Programm bringt zur Zeit Unterstützung für die folgenden Anbieter mit:

Installiert wird es über folgendes Paket:

  • ez-ipupdate (universe)

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install ez-ipupdate 

sudo aptitude install ez-ipupdate 

ipcheck

Das in Python geschriebene Programm ipcheck {en} bietet verschiedene Varianten an, um von der Kommandozeile aus oder aus Skripten heraus Dyndns-Host-Accounts zu aktualisieren.

  • ipcheck (universe)

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install ipcheck 

sudo aptitude install ipcheck 

Ipcheck kann bei Dyndns.org durch folgende Methoden ein IP-Update durchführen:

  • Interface-Erkennung (nur ohne Router sinnvoll nutzbar)

  • Router-IP-Erkennung (die unterstützten Modelle können per ipcheck --devices angezeigt werden)

  • Web-IP-Erkennung (z.B. durch checkip.dyndns.org)

  • Explizite Angabe einer IP

  • Ermittlung der IP durch Dyndns (durch Parameter -g, bitte hierbei unbedingt die fair-use-policy von Dyndns.org beachten!)

Ipcheck benötigt unabhängig von der verwendeten Methode Schreibrechte im Verzeichnis, von wo es ausgeführt wird, da es dort neben seiner Konfiguration auch IP-Daten zum späteren Abgleich hinterlegt.

ipcheck.py -r checkip.dyndns.org:8245 USERNAME PASSWORD HOSTNAME(S) 

Zur erstmaligen Initialisierung je ausführendem Verzeichnis sollte der Parameter --makedat verwendet werden. Per Voreinstellung versucht das Programm das Interface ppp0 zu verwenden, um statt dessen z.B. eth0 zu verwenden, spezifiziert man die zu verwendende Schnittstelle durch Angabe des Parameters -i eth0.

Hinweis:

Ipcheck läuft nicht als Dienst (Daemon) im Hintergrund, sondern bedarf der gezielten Ausführung. Dies lässt sich mit einem cronjob automatisieren.

no-ip client

Der Anbieter no-ip {en} stellt ein eigenes Werkzeug zur Verfügung, das allerdings nur bis Ubuntu 11.10 in den offiziellen Paketquellen enthalten ist:

  • noip2 (universe)

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install noip2 

sudo aptitude install noip2 

Zumindest bei der Installation über die Kommandozeile öffnet sich ein Konfigurationsdialog, der die entsprechenden Daten abfragt und sich um den automatischen Start des Dienstes kümmert. Ab Ubuntu 12.04 hilft folgende Anleitung weiter: Installing the Linux Dynamic Update Client on Ubuntu {en}

Diese Revision wurde am 24. Mai 2013 00:18 von aasche erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Netzwerk, DNS, Internet, Server