Feb 052008
 

Das Domain Name System (DNS) ist ein Internet-Standard für die Übersetzung des Internet-Computer-Namen ( „Host Name“ ) in  eine numerische Internet-Protokoll-Adressen ( „IP Adresse“ ). Der DNS-Server hält hierzu eine Datenbank vor, in der alle Host Namen einer  Domäne eingetragen sind.

Das Active Directory benutzt DNS zur Lokalisierung der Domänencontroller in einer Domäne!


Hinweis:
Ein falsch konfigurierter DNS ist die Fehlerursache #1 bei Problemen mit dem Active Directory.

Wenn DNS falsch konfiguriert ist,

  • sind die beteiligten Domänencontroller nicht in der Lage, sich gegenseitig in der Domäne zu finden und eine Replikation der Daten durchzuführen
  • können Client-Computer ihren zuständigen Domänencontroller nicht finden
  • und Benutzer sind nicht in der Lage, sich anzumelden.

Da DNS von so entscheidender Bedeutung für das Active Directory ist, sollten Sie darauf achten, dass alle DNS-Einstellungen auf alle beteiligen DNS Server übertragen werden (können).

Dazu gehören unter anderem folgenden:

  • Client DNS Einstellungen
  • Server DNS Einstellungen
  • Server DNS Zonen Dateien ( \Windows\system32\dns\* )
  • Hosts und Lmhosts Textdateien ( \Windows\system32\drivers\etc\* )

Durch die fehlerfreie Replikation alle DNS Einstellungen werden potentielle DNS Fehler aufgrund von Unterschieden in den DNS Servern verhindert.
DNS Probleme beheben
Verwenden Sie die Commandline Befehle ping und nslookup zum Testen der Verbindung mit DNS.
Um Verwechslungen aufgrund des negativen Caching durch den DNS Client Dienst zu vermeiden, können Sie diesen Dienst während der Fehlerbehebung vorübergehend ausschalten. ( Ausnahme: Ist die Kommunikation Ihres Servers von einem verfügbaren DHCP-Server abhängig, so müssen Sie den DNS Client Dienst aktiviert lassen. )
netlogon.dns
Um Sie bei der Suche nach der Ursache von DNS Probleme zu unterstützen, wird bei jedem Bootvorgang eines Domänencontrollers eine Kopie der gewünschten DNS Einträge in die Textdatei C:\Windows\System32\config\netlogon.dns geschrieben. Sie können sich diese Datei anzeigen lassen, um zu überprüfen, ob Ihr DNS-Server die korrekten A, PTR, SRV-Datensätze für die Domänencontroller beinhaltet.

Sollte Ihr DNS-Server nicht über die hinterlegten Einträge verfügen, so müssen Sie den Grund dafür herausfinden und korrigieren.
Arbeiten Sie mit dynamischer DNS Aktualisierung, so müssen Sie untersuchen, weshalb der Domänencontroller daran scheitert, diese Einträge zu aktualisieren ( z.B. hat die Netzwerkkarte evtl. eine falschen DNS Client IP Adresse? ).
Arbeiten Sie mit statischen DNS Einträgen, so müssen Sie möglicherweise die notwendige A, PTR, SRV-Datensätze manuell neu eintragen.
Das DNSLint Tool
Das Tool DNSLint kann verwendet werden, um DNS-Fehler zu diagnostizieren.
Geben Sie auf dem neuen Domänencontroller ( dem Zielcomputer ) folgenden Befehl ein

dnslint /ad 127.0.0.1 /s localhost /v
Sofortige Neu-Registrierung von DNS Einträgen
Nach dem Einlesen des AD auf z.B. einem neuen Domänencontroller kann es sein, das Sie im Ereignisprotokoll Fehlermeldungen finden, die im Zusammenhang mit der Suche nach einem Domänencontroller im DNS stehen, der sich nicht dynamisch registrieren konnte. Sie können nun entweder 5-10 Minuten auf die automatische Neu-Registrierung warten oder Sie können den Domänencontroller zur sofortigen Registrierung seiner IP Adresse mit dem DNS-Server veranlassen.

Führen SIe hierzu folgende Commandline Befehle durch:

ipconfig /flushdns
ipconfig /registerdns
nltest /dsregdns

Der Befehl ipconfig veranlasst den Computer, seine A- und PTR-Einträge an den DNS Server zu senden ( „registrieren“).
Der Befehl nltest registriert die SRV Einträge, die zur Lokalisierung von Domänencontrollern verwendet werden.

Der Befehl ipconfig ist Bestandteil des Windows Betriebssystems.
Der Befehl nltest ist Teil der Windows Supporttools, die sich auf der Windows Server CD befinden und von dort aus installiert werden können.


Wiederherstellen von DNS aus einem Backup mehr als 7 Tage alt
Viele DNS Zonen nutzen die Funktion der dynamischen Aktualisierung.

Dynamische Aktualisierung bedeutet, das ein Computer, der Mitglied einer dynamischen DNS Zone ist, während des Hochfahrens seine aktuelle IP Adresse und seinen Computernamen an den DNS-Server überträgt. Dies wird als „DNS Registrierung“ bezeichnet. Der Computer sendet während des Hochfahrens ein Update an den DNS Server und dann in regelmäßigen Abständen immer wieder – in der Regel einmal pro Tag. Domänencontroller senden ebenfalls dynamische Aktualisierungen an den DNS Server wie alle anderen Computer.

Der DNS Server löscht abgelaufene Einträge, sofern diese nicht innerhalb von ( in der Regel ) 7 Tagen aktualisiert werden.

Stellen Sie also beispielsweise eine DNS Server Datenbank aus einer Sicherung, welche älter als 7 Tage ist, wieder her und befinden sich auf dem DNS Server dynamische DNS Zonen, so werden diese dynamischen Einträge beim Booten des DNS Server sofort gelöscht.
Dies liegt daran, dass der DNS Server beim Booten die Zeitstempel eines jeden dynamischen DNS Eintrags überprüft ( und danach in regelmäßigen Abständen). Ist der Zeitstempel älter als das Ablaufintervall ( Standard 7 Tage ), so wird der DNS Eintrag gelöscht.

Während des allerersten Bootvorgangs mit einem neu geladen Active Directory können Sie einige Fehlermeldungen in der Ereignisanzeige finden, die sich auf das Problem beziehen, das kein Domänencontroller oder Global Catalog gefunden werden kann. Diese falschen Fehlermeldungen sind jedoch nur temporär und können deshalb ignoriert werden. Jeder Domänencontroller wird von sich aus versuchen, seine IP Adresse alle 5-10 Minuten neu am DNS Server zu registrieren, bis dies gelungen ist.

Der erste Registrierungsversuch kann dabei fehlschlagen, da der DNS Server evtl. die Datensätze der vorhandenen DNS Zonen noch nicht aus dem AD eingelesen hat. Dies kann passieren, wenn Sie integrierte DNS Zonen nutzen. ( siehe weiter unten ).
Dieses Verhalten ist normal und der nächste Registrierungsversuch sollte gelingen.


Error: The DNS Service cannot load integrated DNS Zones from AD
Fehler: Der DNS Dienst kann die integrierte DNS Zonen von AD nicht laden

Per Default wird jede DNS Zonen Datenbank im Verzeichnis C:\Windows\System32\DNS\* als einfache Textdatei gespeichert. Beim Erstellen einer DNS Zone haben Sie jedoch die Möglichkeit, anstelle der Speicherung als einfache Textdatei die DNS Zone im Active Directory als AD-Objekt zu speichern. Eine DNS Zone im AD ist eine so genannte „integrierte“ DNS Zone.

Wenn Sie nun eine integrierte DNS Zone nutzen und mit dynamischer DNS-Registrierung arbeiten, so entsteht eine gegenseitige Abhängigkeit zwischen DNS und AD, was zu einer Verzögerung von bis zu 30 Minuten beim ersten Booten des Domänencontrollers führen kann.

Der Grund für diese Verzögerung liegt darin, dass

  • der DNS Server das Active Directory kontaktieren muss, um seine Zoneneinträge auszulesen
  • das Active Directory sich weigert, Anfragen des DNS Servers zu akzeptieren, solange der Domänencontroller seine IP Adresse nicht auf dem DNS Server registrieren konnte
  • DNS Server sich aber weigern, die Registrierung des Domänencontrollers zu akzeptieren, da er noch nicht die Zoneneinträge aus dem Active Directory auslesen konnte

Das Ergebnis ist eine Endlosschleife, in der der DNS Dienst über die DNS Ereignisanzeige meldet, dass er nicht in der Lage ist, die integrierte DNS Zonen aus dem Active Directory zu laden.

Innerhalb von 30 Minuten wird vom Active Directory dieses Problem jedoch als solches erkannt und das AD wird ohne DNS Server gestartet, was diese Endlosschleife letztendlich durchbricht. Wenn Sie nicht 30 Minuten warten möchten, können Sie den DNS Dienst auch manuell stoppen und erneut starten. Dadurch wird die Problematik der gegenseitigen Abhängigkeit aufgebrochen.

Das zugrundeliegende Problem wird dadurch zwar nicht gelöst, jedoch tritt es bei nachfolgenden Startvorgängen nicht mehr auf, da DNS die integrierten DNS Zonen zwischenspeichert und diese Cache-Informationen nun für nachfolgende Startvorgänge genutzt werden (können).

Hinweis:
Wenn Sie den DNS Dienst neu starten, sollten Sie auch ebenfalls den DNS Client Dienst neu starten, da sich die Cache-Informationen des DNS Client Dienstes aus den Informationen des DNS Dienstes ergeben. Dazu gehört auch „negative“ Ergebnisse, wenn eine Adresse nicht gefunden wird. Um also  unnötige Verwirrung während der Fehlerbehebung von DNS Problemen zu vermeiden, sollten Sie immer auch den DNS Client Dienst neu starten, wenn Sie den DNS Dienst neu gestartet haben.

Für die besten Ergebnisse bei der Fehlersuche sollten Sie während der Analysephase den DNS Client Dienst stoppen. Sie können den DNS Client Dienst problemlos deaktiviert, solange Ihr Server keinen DHCP Client verwenden ( da der DHCP Client vom DNS Client abhängig ist ).


Testszenario: Erstellung einer Dummy DNS Zone
Ist Ihre Testumgebung isoliert vom Rest des Netzes, so bedeutet dies, dass die DNS Abfragen für externe Zonen außerhalb der Testumgebung in einen Timeout Fehler laufen. Einige Komponenten von Microsoft versuchen, Zugriff auf externe DNS Zonen wie z.B. microsoft.com zu erhalten Da der DNS Server diese Anfrage nicht extern weiterleiten kann, verursacht eine derartige Anfrage eine Verzögerung, bevor diese in einem Timeout enden.

Um nun solche Verzögerungen aufgrund von Anfrage an externe DNS Zonen zu vermeiden, können Sie ein Dummy Root DNS Zone auf dem DNS-Server in Ihrer Testumgebung erstellen. Dies führt dann dazu, dass der DNS Server sofort bei Versuch einer externen Lookup Anfrage einen Fehler verursacht und somit eine Weiterleitung der DNS Anfrage ( und damit ein Timeout ) erst gar nicht versucht wird.

Um eine Dummy Root DNS Zone zu erstellen, verfahren Sie wie folgt:

  1. öffnen Sie das DNS MMC Snap-in
  2. klicken Sie mit der rechten Maustaste auf den Eintrag Forward Lookupzonen und wählen Sie die Option Neue Zone …
  3. wählen Sie als Zonentyp Primäre Zone
  4. deaktivieren sie die Option die Zone in Active Directory speichern und fahren Sie fort mit Weiter
  5. geben Sie als Zonenname: einen einzelnen Punkt ( “ . “ ) ein und fahren Sie fort mit Weiter
  6. wählen Sie die Option neue Datei mit diesem Dateinamen erstellen:, übernehmen Sie die Default Einstellung root.dns und fahren Sie fort mit Weiter
  7. wählen Sie die Option Dynamische Updates nicht zulassen, fahren Sie fort mit Weiter und schliessen Sie mit Fertig stellen ab.

Führen Sie diese Vorgehensweise auf dem „obersten“ DNS Server Ihrer Testumgebung aus.


Weitere Informationen:
Weitere Informationen über die Konfiguration von DNS finden Sie in den folgenden Microsoft Knowledge Base Artikel:

  • Einrichten von DNS für Active Directory (Q237675)
  • Häufig gestellte Fragen zu Windows 2000 DNS und Windows Server 2003 DNS (Q291382)
  • Überprüfung, das SRV DNS Datensätze für einen Domäne-Controller erstellt worden sind (Q816587)
  • Erstellen einer neuen Zone auf einem DNS Server in Windows Server 2003 (Q323445)
  • Konfigurieren von dynamischen DNS-Updates in Windows Server 2003 (Q816592)
  • Empfohlene Verfahrensweisen für DNS-Clienteinstellungen in Windows 2000 Server und Windows Server 2003 (Q825036)
  • So ersetzen Sie in Windows Server 2003 den aktuellen primären DNS-Server durch einen neuen primären DNS-Server (Q323383)

Willy Nachtigall


 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(erforderlich)

(erforderlich)