DDNS Updater

Available translations: en

DDNS Updater ist ein Python Programm, welches eine dynamische IP-Adresse auf einem DNS Server aktualisert. Wird z.B. ein eigener Web-Server an einem (NAT-)Router betrieben muss die externe IP-Adresse des Routers benutzt werden, um auf diesen Server zugreifen zu können. Da sich IP-Adressen nur bedingt merken lassen, wurde DNS (Domain Name System) entwickelt. DNS löst Domain Namen in (statische) IP-Adressen auf. Da sich IP-Adressen von Routern sporadisch (alle paar Wochen) ändern, liefert DNS, nach solch einer Änderung, immernoch die alte IP-Adresse. Eine Aktualisierung der IP-Adresse auf dem DNS Server ist also notwendig, um weiterhin Zugriff auf seinen (internen) Web-Server zu bekommen. Dieser Vorgang der Aktualisierung wird durch eine Variante von DNS dem Dynamischen DNS übernommen.

Um immer die aktuellste IP-Adresse auf dem DNS-Server zu hinterlegen, wurde DDNS Updater entwickelt. Es gibt zwar bereits einige solcher Programme. Meist bieten diese unnütze Funktionen, sind kompliziert zu konfigurieren und funktionieren teilweise nicht korrekt. DDNS Updater ist sehr schlank, einfach zu konfigurieren und bietet E-Mail Benachrichtigungen bei Fehlern und erfolgreicher Aktualisierung.

Installation

Nachdem das PM Code Works APT-Repository hinzugefügt wurde, kann das Paket einfach mit folgendem Befehl installiert werden:

~# apt-get install ddns-updater

Anschließend fehlende Pakete installieren:

~# apt-get install -f

Konfiguration

Konfiguriert wird DDNS Updater über die Konfigurationsdatei /etc/ddns-updater/ddns.conf, welche den Aufbau einer INI-Datei hat. Darin gibt es Konfigurationsmöglichkeiten, die im Folgenden erläutert werden:

Sektion [DDNS]

  • server: Diese Variable muss den Domain-Namen des DNS Server Providers (ohne http://), z.B. dyndns.strato.com, beinhalten.
  • server_path: Diese Variable muss den URL-Pfad zum DNS Server Verzeichnis beinhalten. Bei Strato ist dieser beispielsweise /nic/update.
  • username: Benutzername des Kontos bei dem DNS Server Provider.
  • password: Das zugehörige Passwort zum Benutzernamen.
  • hostname: Der Domain-Name, der zur Verfügung gestellt werden soll.
  • ip: Diese Variable sollte nicht verändert werden. Darin speichert DDNS Updater die aktuelle IP-Adresse ab. Falls sich diese ändert, aktualisiert das Programm sofort die IP-Adresse auf dem DNS Server.
  • external_ip_server: Diese Variable muss einen externen Web Server beinhalten, der die Fähigkeit besitzt, die externe IP-Adresse des Routers zurück zu liefern. checkip.dyndns.com ist beispielsweise ein bekannter Server. Eigene (externe) Web Server können auch dazu benutzt werden. Ein simples PHP-Skript (checkip.php) befindet sich in /usr/share/doc/ddns-updater/.
  • external_ip_server_path: URL-Pfad zum PHP Skript auf einem externen Web Server. Falls der checkip.dyndns.com Server benutzt wird ist hier lediglich ein / einzutragen.
  • use_regex: Diese Variable aktiviert bzw. deaktiviert die Nutzung eines regulären Ausdrucks (RegEx), um die IP-Adresse aus einer HTTP-Antwort im HTML-Format auszulesen. Falls checkip.dyndns.com benutzt wird, muss diese Variable auf True gesetzt werden und andernfalls auf False.

Sektion [Mail]

  • notify: Durch diese Variable werden E-Mail Benachrichtigungen aktiviert bzw. deaktiviert. Falls aktiviert (True) werden Mails bei Fehlern und nach erfolgreicher Aktualisierung der IP-Adresse verschickt.
  • smtp_server: SMTP Postausgangsserver von dem die E-Mail Benachrichtigungen verschickt werden.
  • port: Port des Postausgangsservers (587 oder 465).
  • username: Benutzername des E-Mail Kontos.
  • password: Das zugehörige Passwort zum Benutzernamen des E-Mail Kontos. Hinweis: Das Passwort sowie der Benutzername werden mit TLS verschlüsselt übertragen.
  • recipient: E-Mail Adresse des Empfängers an den die E-Mail Benachrichtigungen versandt werden.

Intervall

DDNS Updater überprüft standardmäßig alle 10 Minuten, ob sich die IP-Adresse geändert hat. Falls ja wird diese automatisch aktualisiert. Somit wird eine Aktualisierung nicht unnötig vorgenommen. Das Interval kann in der Datei /etc/cron.d/ddns-updater geändert werden.

Weitere Befehle

Standardmäßig wird die Konfigurationsdatei /etc/ddns-updater/ddns.conf beim Starten geladen. Mit folgendem Befehl kann eine andere Datei geladen werden:

~# ddns-updater --config /Pfad/zu/einer/anderen/Konfigurationsdatei

DDNS Updater unterstützt mehrere DDNS Profile. Jede Sektion innerhalb der Konfigurationsdatei bildet ein solches Profil. Standardmäßig wird das Profil "DDNS" geladen. Durch folgenden Befehl kann auch ein anderes Profil geladen werden:

~# ddns-updater --profile PROFILNAME