DynDNS (Dynamic DNS) ist ein Dienst, der es ermöglicht, einen festen Domainnamen mit einer sich ändernden IP-Adresse zu verknüpfen. Das ist praktisch, wenn man auf Geräte oder Server in einem Netzwerk mit dynamischer IP-Adresse (z. B. bei Heimanschlüssen) zugreifen möchte. Der Dienst aktualisiert automatisch den DNS-Eintrag, sobald sich die öffentliche IP-Adresse ändert, sodass der Domainname immer erreichbar bleibt.
ddclient ist ein Open-Source-Dienstprogramm, das verwendet wird, um Dynamic DNS (DDNS)-Einträge zu aktualisieren. Es wird hauptsächlich genutzt, um eine Domain mit einer dynamischen IP-Adresse zu verknüpfen. Dies ist besonders hilfreich für Nutzer, die keine statische IP-Adresse haben (wie sie oft von Internetanbietern für Privatanschlüsse bereitgestellt wird), aber dennoch von außen auf ihre Geräte oder Netzwerke zugreifen möchten.
sudo apt update && sudo apt upgrade -y
sudo apt install ddclient -y
ddclient --version
Die Hauptkonfigurationsdatei befindet sich unter
/etc/ddclient.conf
.
sudo nano /etc/ddclient.conf
Beispiel für Strato (Dynamic DNS):
daemon=300 # Aktualisierungsintervall in Sekunden syslog=yes # Logs in syslog speichern mail=root # Mail bei Problemen an root senden mail-failure=root # Fehlerberichte an root senden pid=/var/run/ddclient.pid # Speicherort der PID-Datei ssl=yes # SSL-Verschlüsselung verwenden use=web # Öffentliche IP von einer Webquelle abrufen web=checkip.dyndns.com/ # Webseite zur Abfrage der öffentlichen IP web-skip=IP Address # Textmuster, um die IP-Adresse zu extrahieren server=dyndns.strato.com # Strato-DNS-Server protocol=dyndns2 # Protokolltyp login=deine_domain.de # Benutzername (Domainname) password='dein_passwort' # Passwort für die Strato-DNS-Verwaltung deine_domain.de # Die zu aktualisierende Domain
Drücke
Ctrl + O
, dann
Enter
, um zu speichern, und
Ctrl + X
, um den Editor zu schließen.
Falls Änderungen an der Konfiguration vorgenommen wurden, sollte der Cache geleert werden:
sudo rm -f /var/cache/ddclient/ddclient.cache
sudo systemctl enable ddclient sudo systemctl start ddclient
sudo systemctl status ddclient
Du kannst
ddclient
manuell im Debug-Modus ausführen, um sicherzustellen, dass alles korrekt funktioniert:
sudo ddclient -daemon=0 -debug -verbose -noquiet
Wenn Probleme auftreten, überprüfe die Logs:
sudo tail -f /var/log/syslog
Falls du die öffentliche IP nicht von einer Webquelle wie
checkip.dyndns.com
abrufen möchtest, kannst du:
- Einen anderen Webdienst angeben: Passe die Zeile
web=...
in der Konfiguration an. - Die IP vom Router abrufen: Verwende
use=cmd
und ein benutzerdefiniertes Skript, um die IP direkt vom Router abzurufen. Anleitung folgt!
Mit dieser Anleitung sollte
ddclient
korrekt installiert und eingerichtet sein.
sudo nano /etc/ddclient.conf
sudo service ddclient restart
sudo ddclient -daemon=0 -debug -verbose -noquiet -force
# Configuration file for ddclient generated by debconf # Pfad: /etc/ddclient.conf # Interval in Sekunden, in dem ddclient ausgeführt wird, um die IP-Adresse zu überprüfen und zu aktualisieren daemon=300 # Alle 5 Minuten # Schreibe Ereignisse in das Systemlog (/var/log/syslog) syslog=yes # E-Mail-Benachrichtigungen senden (Standardempfänger ist "root") mail=root # Sende allgemeine Benachrichtigungen an den root-Benutzer mail-failure=root # Sende Fehlerbenachrichtigungen ebenfalls an root # Speicherort für die PID-Datei, um sicherzustellen, dass nicht mehrere Instanzen von ddclient laufen pid=/var/run/ddclient.pid # Aktiviere SSL/TLS für sichere Verbindungen ssl=yes # Methode zur Ermittlung der externen IP-Adresse use=web # Hole die öffentliche IP-Adresse von einem Webdienst (Standard: checkip.dyndns.com) web=checkip.dyndns.com/ # Webseite zur Abfrage der öffentlichen IP web-skip=IP Address # Textmuster, um die IP-Adresse zu extrahieren # DynDNS-Server, der aktualisiert werden soll server=dyndns.strato.com # DynDNS-Server von Strato # Verwendetes Protokoll für den DynDNS-Server protocol=dyndns2 # DynDNS2-Protokoll für die Kommunikation mit Strato # Anmeldedaten für den DynDNS-Server login=domain.de # Benutzername (oft die Domain) password='password' # Passwort für die Authentifizierung (achte auf Anführungszeichen bei Sonderzeichen) # Hostname, der aktualisiert werden soll subdomain.domain.de # Die spezifische Domoin und/oder Subdomain, die beim DynDNS-Dienst aktualisiert werden soll