Rund um die Uhr erreichbar
out of the box: ddclient
Sag mir, wer ich bin!
Nun muss man ddclient in der Datei /etc/ddclient.conf so konfigurieren, dass es dem dynamischen DNS-Dienst die jeweils aktuelle Internet-IP-Adresse des Systems übermittelt. Einmal kann man eine feste IP-Adresse senden:
use=ip, ip=127.0.0.1
Hier müsste man ddclient bei jeder Änderung der zugewiesenen IP-Adresse umkonfigurieren, ein Gedanke, der die Idee des dynamischen DNS-Dienstes ad absurdum führt. Besser weisen Sie das Tool mit
use=if, if=ppp0
an, die aktuelle IP-Adresse des Interfaces ppp0 auszulesen. An seiner Statt könnten auch andere Netzwerkschnittstellen stehen, vorausgesetzt, sie tragen die extern erreichbare IP-Adresse. Alternativ sendet ddclient eine Web-Anfrage an den dynamischen DNS-Server, aus der dieser die IP-Adresse übernimmt. Diese Methode, einschaltbar über use=web, berücksichtigt die aktuelle Routing-Tabelle des Rechner, so dass es keine Rolle spielt, über welches Medium der Rechner mit dem Internet verbunden ist. Sie scheitert, wenn Ihr Provider einen Zwangsproxy vorsieht, da dann die Adresse des Proxies in die Datenbank eingetragen wird.
Darüber hinaus liest ddclient die Einwahl-Daten aus einigen Einwahl-Routern aus (ddclient --help hilft hier weiter), aber in den meisten Fällen funktioniert die Web-Methode genauso gut oder besser.
Für den Rest der Konfiguration in /etc/ddclient.conf ist es egal, welche der use-Methoden Sie verwenden. Lediglich die Werte für login und password müssen Sie in Listing 2 durch Ihr DynDNS-Login bzw. das Passwort ersetzen und Ihre registrierten Host-Namen in die server-Zeile am Ende eintragen.
Startet man ddclient im Daemon-Modus durch Eingabe von /etc/init.d/ddclient start, prüft das Tool in festlegbaren Intervallen, ob die IP-Adresse bei DynDNS noch mit der aktuellen übereinstimmt. Sobald sich die IP-Adresse ändert, übermittelt ddclient die neue IP-Adresse an den dynamischen DNS-Provider. Ist der Rechner nicht über eine Flatrate mit dem Internet verbunden, verursacht diese Methode durch den ständigen Verbindungsaufbau unnötigen Verkehr. In diesem Fall ruft man ddclient besser bei jedem Start der Internet-Verbindung ohne Kommandozeilenoptionen auf.
Listing 2
/etc/ddclient.conf
daemon=300 # Der Daemon überprüft alle 300 Sekunden,
# ob sich die IP-Adresse geändert hat …
syslog=yes # … und schreibt einen Logeintrag ins Syslog
# (normalerweise /var/log/messages).
# mail=root # Sende eine E-Mail bei Änderung der
# IP-Adresse (nicht aktiviert)
pid=/var/run/ddclient.pid # Speichere die Prozess-ID des Daemons in
# /var/run/ddclient.pid
# use=ip, ip=127.0.0.1 # Statische IP übermitteln (nicht aktiviert)
# use=if, if=ppp0 # Lies IP aus einem Interface aus (nicht aktiviert)
use=web # Ermittle IP-Nummer über Web-Zugriff
protocol=dyndns2 # Standardprotokoll
server=members.dyndns.org # Standardserver
login=linuxusertest
# Standard-Login für den DynDNS-Account
password=blablabl
# Standard-Passwort
server=members.dyndns.org, protocol=dyndns2, meinhostname
.dyndns.org
# Zusätzlicher Eintrag für zoneedit. Da dieser Dienst andere Zugangsdaten als
# DynDNS verwendet, enthält die Zeile neue protocol-, login- und
# password-Angaben.
server=www.zoneedit.com, protocol=zoneedit1, login=zoneeditlogin
, password=zoneeditpasswort
, meinhostname.meine.domain
Fehlersuche
Ob ddclient beim Versuch, die aktuelle IP-Nummer an den in der Zeile server konfigurierten dynamischen-Server zu senden, erfolgreich war, zeigt ein Blick in die Datei /var/log/messages:
May 13 14:54:58 freedom ddclient[4196]: SUCCESS: updating meinhostname.dyndns.org: good: IP address set to 62.245.157.217
meldet Erfolg. Stimmt die in der Log-Meldung angebene IP-Adresse nicht mit der IP-Adresse des Rechners überein, experimentieren Sie mit dem use=-Parameter. Meist lässt sich das Problem bereits mit wenigen Versuchen beheben.
Glossar
DNS-Hostnamen
Der eindeutige Name eines Rechners im "Domain Name Service" (DNS), zum Beispiel www.linux-user.de. Dynamische DNS-Dienste ordnen dem Namen die numerische IP-Adresse zu, die der Rechner bei der Einwahl ins Internet erhält und die ddclient übermittelt. Das geht natürlich nur für Domains, für deren DNS-Einträge sie verantwortlich sind.
Perl
Die "Practical extraction and report language" ist eine sehr umfangreiche und weitverbreitete Skript-Sprache. Den darin geschriebenen Code braucht man nicht erst kompilieren, sondern kann ihn mit Hilfe des perl-Interpreters sofort ausführen.
Routing-Tabelle
Dieser vom Betriebssystem verwalteten Tabelle entnimmt ein Rechner die Information, über welchen anderen Router (Rechner) er am besten zu einem Zielsystem (hier das Internet) kommt.



