Dynamic DNS (DDNS) is a DNS mechanism that automatically updates host address records when IP addresses change, eliminating the need for manual record edits in environments where devices receive changing addresses via DHCP or internet provider reconnections. The system works by sending update requests to authoritative DNS servers using RFC 2136 standards or HTTP-based update protocols, with authentication via TSIG keys or credentials to prevent unauthorized record modifications. Proper DDNS deployment requires coordination between DHCP and DNS servers, appropriate TTL settings, and maintenance of both forward and reverse zones to avoid stale records, duplicate names, and service failures.
So funktioniert DDNS
DDNS funktioniert so, dass bei jeder Änderung der Adresse eines Hosts eine Änderung an einen autoritativen DNS-Server gesendet wird. Die Änderung kann vom Host selbst, von einem für ihn handelnden DHCP-Server oder vom Aktualisierungsclient eines Anbieters stammen.
- Adressänderung: Ein Host erhält eine neue IP-Adresse vom DHCP, ein Router stellt mit einer neuen Adresse von seinem Internetanbieter eine neue Verbindung her oder eine statische Zuweisung wird bearbeitet.
- Aktualisierungsanforderung: Der Host, der DHCP-Server oder ein kleiner Aktualisierungsclient sendet die neue Adresse an den DNS-Server. Standardbasierte Implementierungen verwenden die dynamische Aktualisierungsnachricht aus RFC 2136. Viele gehostete Dienste verwenden stattdessen eine HTTP-basierte Aktualisierungsanforderung.
- Authentifizierung: Der DNS-Server überprüft, ob der Absender berechtigt ist, den Eintrag zu ändern. Standardbasierte Aktualisierungen werden üblicherweise mit Transaktionssignaturen (TSIG) gemäß RFC 8945 oder mit anderen Schlüsseln gesichert. Gehostete Dienste verwenden in der Regel Anmeldedaten oder Tokens.
- Eintragsänderung: Der Server ersetzt den alten A- oder AAAA-Eintrag durch die neue Adresse und erhöht die Seriennummer der Zone, damit sekundäre Server die Änderung übernehmen können.
- Auflösung: Clients, die den Namen abfragen, erhalten die neue Adresse, sobald zwischengespeicherte Kopien der alten Antwort ablaufen, was durch die Time-to-Live (TTL) des Eintrags gesteuert wird.
Dynamische Aktualisierungen können auch zugehörige Einträge entfernen oder anpassen, beispielsweise PTR-Einträge für Reverse-Lookups. Eine kurze TTL verkürzt den Zeitraum, in dem Clients eine veraltete Adresse verwenden, erhöht jedoch das Abfragevolumen.
Häufige DDNS-Probleme
Für DHCP-Clients erstellte Einträge bleiben nach Ablauf der Lease bestehen, wenn der DHCP-Server sie nicht entfernt oder nicht über die entsprechenden Berechtigungen verfügt. Ein anderes Gerät erhält später dieselbe Adresse, und zwei Namen werden darauf aufgelöst.
Der DNS-Server gibt eine „REFUSED“-Antwort zurück, wenn der Absender nicht autorisiert ist, der Schlüssel oder die TSIG-Signatur nicht übereinstimmt oder die Zone keine dynamischen Aktualisierungen zulässt. Der Eintrag behält dann seine alte Adresse bei, ohne dass auf dem Client ein offensichtlicher Fehler auftritt.
Wenn sowohl der DHCP-Server als auch der Client versuchen, denselben Eintrag zu aktualisieren, oder wenn zwei Hosts denselben Namen beanspruchen, überschreibt einer den anderen oder die Aktualisierung schlägt fehl. Die übliche Ursache ist eine unklare Zuständigkeit für die Aktualisierung zwischen Client und Server.
Der Forward-A- oder AAAA-Eintrag wird aktualisiert, der PTR-Eintrag jedoch nicht, da die Reverse-Zone fehlt, nicht dynamisch ist oder nicht autorisiert wurde. Reverse-Lookups schlagen dann fehl oder geben einen alten Namen zurück, was die Protokollierung und einige Authentifizierungsprüfungen beeinträchtigt.
Eine hohe TTL bei einem dynamisch aktualisierten Eintrag ermöglicht es Resolvern, die alte Adresse beizubehalten, nachdem die Aktualisierung erfolgreich war. Benutzer erleben zeitweise Ausfälle, bis die zwischengespeicherten Antworten ablaufen.