Ein unter Windows 2000 bzw. Windows 2003 installierter DNS-Server erlaubt die dynamische Aktualisierung von DNS-Records. Im Laufe der Zeit häufen sich Einträge in den Forward- und Reverse-Loookup-Zonen, die veraltet sind und auf nicht mehr existierende Rechner zeigen. Zum Beispiel können das Einträge von mobilen Benutzern sein, die ihr Notebook in das Netzwerk integriert hatten; aber auch Rechner, die einfach aus dem Netzwerk entfernt wurden, hinterlassen ihre Spuren in den entsprechenden DNS-Zonen.
Wie kann man jetzt aber dafür sorgen, dass diese Einträge aus den Zonen wieder entfernt werden? Das ist eigentlich relativ simpel. Windows-DNS-Server ab Windows 2000 unterstützen das Aufräumen von veralteten Einträgen. Diese Funktion ist allerdings standardmäßig deaktiviert und muss manuell aktiviert werden. Hier sollte man auch ein paar kleine Dinge beachten.
Das Aufräumen und die Alterung müssen sowohl am Server, als auch in den entsprechenden Zonen aktiviert werden. Die Einstellungen für den Server erreicht man über das Kontextmenü und dort den Eintrag „Alterung/Aufräumvorgang für alle Zonen festlegen“. Dann sollte folgender Dialog erscheinen:
(Eigenschaften Serveralterung / Aufräumvorgang am Server)
Am Server ist das aber noch nicht alles, was eingestellt werden muss. Dem Server muss noch beigebracht werden, dass er in einem bestimmten Intervall den Aufräumvorgang durchführen soll. Diese Einstellung wird auf der Registerkarte „Erweitert“ in den Eigenschaften des Servers vorgenommen.
(Registerkarte „Erweitert“ des Servers)
Hier ist wichtig, dass bei „Aufräumvorgang bei veralteten Einträgen automatisch aktivieren“ ein Haken gesetzt ist (Achtung, unter Windows 2000 ist diese Option im Deutschen sehr irreführend übersetzt!). Wenn diese Option nicht aktiviert ist, dann räumt der Server nie die veralteten Einträge auf.
Was bedeuten denn die angebenen Werte?
„Intervall für Nichtaktualisierung“: Diese Zeitspanne gibt an, wie lange ein Eintrag vom Client nicht aktualisiert werden kann. Wenn ein Client seinen A-Record in der DNS-Zone einträgt, dann wird dieser Eintrag mit einem Zeitstempel versehen. Dieser Zeitstempel kann bis nach Ablauf dieser Frist nicht aktualisiert werden. Wenn aber ein Client z.B. eine andere IP-Adresse erhalten hat, dann kann er diese natürlich im DNS ändern. Diese Einstellung wirkt sich also nur auf den Aktualisierungsintervall des Zeitstempels aus. Den Zeitstempel der DNS-Records kann man in der Standardansicht nicht einsehen. Wenn man den Zeitstempel eines DNS Eintrages einsehen möchte, so muss man vorher in der DNS-Konsole unter „Ansicht“ die „Erweiterte Ansicht“ aktivieren. Danach kann man durch Doppelklick auf einen Eintrag den entsprechenden Zeitstempel einsehen.
„Aktualisierungsintervall“: Innerhalb dieses Intervalles hat der Client die Möglichkeit, den Zeitstempel zu aktualisieren. Wenn dieser Intervall abgelaufen ist, dann wird der Eintrag als veraltet markiert und letzendlich durch den Aufräumvorgang aus der DNS-Zone entfernt.
„Zeitraum des Aufräumvorgangs“: Dieser Wert gibt an, wie oft der Server das Aufräumen veralteter Einträge vornimmt. Der Server legt die Startzeit des ersten Aufräumvorgangs nach folgender Formel fest:
Aktuelle Serverzeit + Aktualisierungsintervall = Startzeit für den Aufräumvorgang
Wenn diese Einstellungen auf dem Server vorgenommen wurden, müssen noch Einstellungen an der entsprechenden DNS Zone vorgenommen werden. Diese Einstellungen werden in den Eigenschaften der jeweiligen Zone auf der Registerkarte „Allgemein“ durchgeführt.
(Registerkarte „Allgemein“ in den Eigenschaften der Zone)
Auf dieser Registerkarte ist ein Button „Alterung…“ zu finden. Durch Klicken auf diesen Button gelangt man zu einen Dialogfenster, was dem des DNS-Servers sehr ähnelt.
(Einstellungen der Zone für die Alterung)
Zusätzlich zu den Einstellungen für „Intervall für Nichtaktualisierung“ und „Aktualisierungsintervall“ kann man in diesem Dialogfenster auch den Zeitpunkt einsehen, wann die Zone für den Aufräumvorgang zur Verfügung steht.
Wenn diese Einstellungen vorgenommen wurden, dann kümmert sich der DNS-Server ab jetzt um Entfernung veralteter Einträge aus der DNS-Zone. Wenn der DNS-Server einen Aufräumintervall durchlaufen hat, kann man diesen Vorgang im Eventlog nachvollziehen. Ein Aufräumvorgang wird hier durch die Event-ID „2501“ angezeigt.
Einige Einträge werden jedoch nicht aus der DNS-Zone entfernt:
- Der SOA-Eintrag
- NS-Einträge
- manuelle Einträge
- Einträge durch WINS-Lookup
Eine weitere Stolperfalle ist die Zonenalterung in Active-Directory-integrierten Zonen. Alle DNS-Server, die diese Zone hosten, versuchen, die Einträge der Zone aufzuräumen. Hier empfiehlt es sich, den Aufräumvorgang auf einen Server zu begrenzen, der für diesen Vorgang freie Ressourcen hat. Die Festlegung eines dedizierten „Aufräumservers“ geht leider nicht über die GUI, sondern nur mit dem Tool „dnscmd“ welches in den Support Tools enthalten ist.
In meinem Beispiel heisst die Zone „test.de“ und der Server „server1.test.de / 192.168.1.201“. Ich möchte erreichen, dass dieser Server als Einzigster die Zone aufräumen darf.
dnscmd server1.test.de /zoneresetscavengeservers test.de 192.168.1.201
Mit der Hilfe dieses Tools lassen sich auch die oben genannten Einstellungen auf der Kommandozeile vornehmen. Hier einige Servereinstellungen:
- „Intervall für Nichtaktualisierung“ auf 5 Tage setzen:
dnscmd server1.test.de /config /defaultnorefreshinterval 0x78 - „Aktualisierungsintervall“ auf 5 Tage setzen:
dnscmd server1.test.de /config /defaultrefreshinterval 0x78 - „Zeitraum des Aufräumvorgangs“ auf 5 Tage setzen:
dnscmd server1.test.de /config /scavenginginterval 0x78
Der Intervall muss in Stunden angegeben werden. Bei 5 Tagen ergeben sich dadurch 120 Stunden, was in hexadezimaler Schreibweise 78 ergibt.
http://faq-o-matic.net/?p=509