Freigeben über


Probleme, die bei vielen Domänencontrollern in integrierten DNS-Zonen in Active Directory auftreten können

Ursprüngliche KB-Nummer: 267855
Gilt für: Unterstützte Versionen von Windows Server

Problembeschreibung

DNS-Registrierungen (Domain Name System) von SRV- und Domänencontroller-Locator-A-Einträgen (registriert von Netlogon) und NS-Einträgen (hinzugefügt durch die autorisierenden DNS-Server) in einer active Directory-integrierten DNS-Zone für einige DCs funktionieren möglicherweise nicht in einer Domäne, die eine große Anzahl von DCs enthält (normalerweise über 1200). Wenn die active Directory-integrierte DNS-Zone denselben Namen wie der Active Directory-Domänenname hat, treten Probleme mit der Registrierung von A-Einträgen und NS-Einträgen im Zonenstamm in einer Domäne mit mehr als 400 DCs auf. Außerdem kann eine oder mehrere der folgenden Fehlermeldungen im Ereignisprotokoll protokolliert werden:

Event Type: Error  
Event Source: DNS  
Event Category: None  
Event ID: 4011  
Description: The DNS server was unable to add or write an update of domain name xyz in zone xyz.example.com to the Active Directory. Check that the Active Directory is functioning properly and add or update this domain name using the DNS console. The event data contains the error.  
Data: 0000: 2a 23 00 00 *#..
Event Type: Error  
Event Source: DNS  
Event Category: None  
Event ID: 4015  
Description: The DNS server has encountered a critical error from the Active Directory. Check that the Active Directory is functioning properly. The event data contains the error.  
Data: 0000: 0b 00 00 00 ....  

The final status code from event 4015, 0x00000b, maps to error "LDAP_ADMIN_LIMIT_EXCEEDED Administration limit on the server has exceeded."
Event Type: Warning  
Event Source: NTDS Replication  
Event Category: Replication  
Event ID: 1093  
Description: The directory replication agent (DRA) could not apply changes to object DC=@,DC=xyz.example.com,CN=MicrosoftDNS,CN=System,DC=xyz,DC=example, DC=com (GUID <GUID>) because the incoming changes cause the object to exceed the database's record size limit. The incoming change to attribute 9017e (dnsRecord) will be backed out in an attempt to make the update fit. In addition to the change to the attribute not being applied locally, the current value of the attribute on this system will be sent out to all other systems to make that the definitive version. This has the effect of nullifying the change to the rest of the enterprise.
The reversal may be recognized as follows: version 5474, time of change 2000-06-28 19:33.24 and USN of 2873104.
Event Type: Information  
Event Source: NTDS Replication  
Event Category: Replication  
Event ID: 1101  
Description: The directory replication agent (DRA) was able to successfully apply the changes to object DC=@,DC=xyz.example.com,CN=MicrosoftDNS,CN=System, DC=xyz,DC=example,DC=com (GUID <GUID>) after backing out one or more of the attribute changes. Preceding messages will indicate which attributes were reversed. Please note that this will have the effect of nullifying the change where it was made, causing the original update not to take effect. The originator should be notified that their change was not accepted by the system.

Ursache

Dieses Problem tritt auf, da Active Directory eine Beschränkung von ca. 1200 Werten aufweist, die einem einzelnen Objekt zugeordnet werden können. In einer active Directory-integrierten DNS-Zone werden DNS-Namen durch dnsNode-Objekte dargestellt, und DNS-Einträge werden als Werte im mehrwertigen dnsRecord-Attribut für dnsNode-Objekte gespeichert, wodurch die zuvor in diesem Artikel aufgeführten Fehlermeldungen auftreten.

Lösung

Sie können eine der folgenden Methoden verwenden, um dieses Problem zu beheben.

Methode 1

Wenn Sie eine Liste von DNS-Servern angeben möchten, die NS-Einträge hinzufügen können, die sich selbst einer bestimmten Zone entsprechen, wählen Sie einen DNS-Server aus, und führen Sie dann Dnscmd.exe mit dem Switch "/AllowNSRecordsAutoCreation" aus:

  • Verwenden Sie den dnscmd servername /config zonename /AllowNSRecordsAutoCreation IPList Befehl, um eine Liste der TCP/IP-Adressen von DNS-Servern festzulegen, die über die Berechtigung zum automatischen Erstellen von NS-Einträgen für eine Zone verfügen. Zum Beispiel:

    Dnscmd NS1 /config zonename.com /AllowNSRecordsAutoCreation 10.1.1.1 10.5.4.2
    
  • Verwenden Sie den Befehl, um die Liste der TCP/IP-Adressen von DNS-Servern zu löschen, die über die Berechtigung zum automatischen Erstellen von NS-Einträgen für eine Zone verfügen und die Zone in den Standardzustand zurückgibt, wenn jeder primäre DNS-Server automatisch einer Zone einen NS-Eintrag hinzufügt, der dnscmd servername /config zonename /AllowNSRecordsAutoCreation diesem entspricht. Zum Beispiel:

    Dnscmd NS1 /config zonename.com /AllowNSRecordsAutoCreation
    
  • Verwenden Sie dnscmd servername /zoneinfo zonename /AllowNSRecordsAutoCreation den Befehl, um die Liste der TCP/IP-Adressen von DNS-Servern abzufragen, die über die Berechtigung zum automatischen Erstellen von NS-Einträgen für eine Zone verfügen. Beispiel:

    Dnscmd NS1 /zoneinfo zonename.com /AllowNSRecordsAutoCreation
    

Notiz

Führen Sie diesen Befehl nur auf einem DNS-Server aus. Die Active Directory-Replikation verteilt die Änderungen an alle DNS-Server, die auf DCs in derselben Domäne ausgeführt werden.

In einer Umgebung, in der sich die meisten DNS-DCs für eine Domäne in Zweigstellen befinden und einige sich an einem zentralen Ort befinden, sollten Sie den Dnscmd oben in diesem Artikel beschriebenen Befehl verwenden, um die IPList so festzulegen, dass nur die zentral gelegenen DNS-DCs enthalten sind. Dabei fügen nur die zentral gelegenen DNS-DCs ihre jeweiligen NS-Einträge zur Active Directory-Domänenzone hinzu.

Methode 2

Wichtig

Dieser Abschnitt, diese Methode bzw. diese Aufgabe enthält eine Beschreibung der Schritte zum Bearbeiten der Registrierung. Durch die falsche Bearbeitung der Registrierung können schwerwiegende Probleme verursacht werden. Daher müssen Sie sicherstellen, dass Sie diese Schritte sorgfältig ausführen. Für weiteren Schutz sichern Sie die Registrierung, bevor Sie sie ändern. Anschließend können Sie die Registrierung wiederherstellen, wenn ein Problem auftritt. Weitere Informationen finden Sie unter Sichern und Wiederherstellen der Registrierung in Windows.

Wenn Sie auswählen möchten, welcher DNS-Server keine NS-Einträge zu einer active Directory-integrierten DNS-Zone hinzugibt, verwenden Sie den Registrierungs-Editor (Regedt32.exe), um den folgenden Registrierungswert auf jedem betroffenen DNS-Server zu konfigurieren:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters

Registrierungswert: DisableNSRecordsAutoCreation
Datentyp: REG_DWORD
Datenbereich: 0x0 | 0x1
Standardwert: 0x0

Dieser Wert wirkt sich auf alle active Directory-integrierten DNS-Zonen aus. Die Werte haben die folgenden Bedeutungen:

Wert Bedeutung
0 Der DNS-Server erstellt automatisch NS-Einträge für alle active Directory-integrierten DNS-Zonen, es sei denn, eine Zone, die vom Server gehostet wird, enthält das AllowNSRecordsAutoCreation-Attribut (weiter oben in diesem Artikel beschrieben), das den Server nicht enthält. In diesem Fall verwendet der Server die AllowNSRecordsAutoCreation-Konfiguration.
1 Der DNS-Server erstellt nicht automatisch NS-Einträge für alle active Directory-integrierten DNS-Zonen, unabhängig von der AllowNSRecordsAutoCreation-Konfiguration in den active Directory-integrierten DNS-Zonen.

Notiz

Um die Änderungen auf diesen Wert anzuwenden, müssen Sie den DNS-Serverdienst neu starten.

Wenn Sie verhindern möchten, dass bestimmte DNS-Server ihre entsprechenden NS-Einträge zu active Directory-integrierten DNS-Zonen hinzufügen, die sie hosten, können Sie den zuvor in diesem Artikel beschriebenen Registrierungswert DisableNSRecordsAutoCreation verwenden.

Notiz

Wenn der Registrierungswert DisableNSRecordsAutoCreation auf 0x1 festgelegt ist, enthält keiner der von diesem DNS-Server gehosteten Active Directory-integrierten DNS-Zonen seine NS-Einträge. Wenn dieser Server daher mindestens einer von ihm gehosteten Active Directory-integrierten DNS-Zone einen eigenen NS-Eintrag hinzufügen muss, legen Sie den Registrierungswert nicht auf 0x1 fest.

Netlogon Fix

Wichtig

Dieser Abschnitt, diese Methode bzw. diese Aufgabe enthält eine Beschreibung der Schritte zum Bearbeiten der Registrierung. Durch die falsche Bearbeitung der Registrierung können schwerwiegende Probleme verursacht werden. Daher müssen Sie sicherstellen, dass Sie diese Schritte sorgfältig ausführen. Für weiteren Schutz sichern Sie die Registrierung, bevor Sie sie ändern. Anschließend können Sie die Registrierung wiederherstellen, wenn ein Problem auftritt. Weitere Informationen finden Sie unter Sichern und Wiederherstellen der Registrierung in Windows.

Der Netlogon-Teil dieses Hotfixes bietet Administratoren eine größere Kontrolle wie weiter oben in diesem Artikel beschrieben. Sie sollten den Fix auf jeden DC anwenden. Um zu verhindern, dass ein DC dynamische Aktualisierungen bestimmter DNS-Einträge versucht, die standardmäßig von Netlogon dynamisch aktualisiert werden, verwenden Sie Regedt32.exe, um den folgenden Registrierungswert zu konfigurieren:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters

Registrierungswert: DnsAvoidRegisterRecords
Datentyp: REG_MULTI_SZ

Geben Sie in diesem Wert die Liste der Mnemonics an, die den DNS-Einträgen entsprechen, die von diesem DC nicht registriert werden sollen.

Notiz

Legen Sie den Wert auf die Liste der durch Trennzeichen getrennten Mnemonics fest, die in der folgenden Tabelle angegeben sind.

Die Liste der Mnemonics umfasst:

Mnemonisch type DNS-Einträge
LdapIpAddress A <DnsDomainName>
Ldap SRV _ldap._tcp.<DnsDomainName>
LdapAtSite SRV _ldap._tcp.<SiteName>._sites.<DnsDomainName>
Pdc SRV _ldap._tcp.pdc._msdcs.<DnsDomainName>
Gc SRV _ldap._tcp.gc._msdcs.<DnsForestName>
GcAtSite SRV _ldap._tcp.<SiteName>._sites.gc._msdcs.<DnsForestName>
DcByGuid SRV _ldap._tcp.<DomainGuid>.domains._msdcs.<DnsForestName>
GcIpAddress A gc._msdcs.<DnsForestName>
DsaCname CNAME <DsaGuid>._msdcs.<DnsForestName>
Kdc SRV _kerberos._tcp.dc._msdcs.<DnsDomainName>
KdcAtSite SRV _kerberos._tcp.<SiteName>._sites.dc._msdcs.<DnsDomainName>
Dc SRV _ldap._tcp.dc._msdcs.<DnsDomainName>
DcAtSite SRV _ldap._tcp.<SiteName>._sites.dc._msdcs.<DnsDomainName>
Rfc1510Kdc SRV _kerberos._tcp.<DnsDomainName>
Rfc1510KdcAtSite SRV _kerberos._tcp.<SiteName>._sites.<DnsDomainName>
GenericGc SRV _gc._tcp.<DnsForestName>
GenericGcAtSite SRV _gc._tcp.<SiteName>._sites.<DnsForestName>
Rfc1510UdpKdc SRV _kerberos._udp.<DnsDomainName>
Rfc1510Kpwd SRV _kpasswd._tcp.<DnsDomainName>
Rfc1510UdpKpwd SRV _kpasswd._udp.<DnsDomainName>

Notiz

Es ist nicht erforderlich, den Netlogon-Dienst neu zu starten. Wenn der Registrierungswert DnsAvoidRegisterRecords erstellt oder geändert wird, während der Netlogon-Dienst beendet oder innerhalb der ersten 15 Minuten nach dem Starten von Netlogon beendet wird, erfolgen entsprechende DNS-Updates mit kurzer Verzögerung (die Verzögerung liegt jedoch nicht später als 15 Minuten nach dem Start von Netlogon).

DNS-Registrierungen von A-Einträgen, die von Netlogon ausgeführt werden, können auch mithilfe des Registrierungswerts RegisterDnsARecords geändert werden. Weitere Informationen finden Sie unter Aktivieren oder Deaktivieren von DNS-Updates in Windows.

Beachten Sie, dass sowohl die DnsAvoidRegisterRecords- als auch die RegisterDnsARecords-Registrierungswerte die Registrierung des Hosteintrags (A) zulassen müssen:

  • RegisterDnsARecords = 0x1
    Wenn Sie ldapIpAddress und GcIpAddress in den Registrierungswerteinstellungen von DnsAvoidRegisterRecords auflisten, werden keine A-Einträge registriert.
  • RegisterDnsARecords = 0x0
    Unabhängig davon, ob Sie LdapIpAddress und GcIpAddress in den DnsAvoidRegisterRecords-Registrierungswerteinstellungen auflisten, werden keine A-Einträge registriert.

Um zu verhindern, dass das weiter oben in diesem Artikel beschriebene Problem in einer Umgebung auftritt, in der sich eine Reihe von DCs und/oder globalen Katalogservern (GC) an einem zentralen Standort befinden und eine große Anzahl der DCs und/oder GC-Server in Zweigstellen gespeichert sind, kann der Administrator die Registrierung einiger DNS-Einträge durch Netlogon auf den DCs/GCs in den Zweigstellen deaktivieren. In dieser Situation enthält die Liste der Mnemonics, die nicht registriert werden sollten:

DC-spezifische Datensätze:

Mnemonisch type DNS-Einträge
LdapIpAddress A <DnsDomainName>
Ldap SRV _ldap._tcp.<DnsDomainName>
DcByGuid SRV _ldap._tcp.<DomainGuid>.domains._msdcs.<DnsForestName>
Kdc SRV _kerberos._tcp.dc._msdcs.<DnsDomainName>
Dc SRV _ldap._tcp.dc._msdcs.<DnsDomainName>
Rfc1510Kdc SRV _kerberos._tcp.<DnsDomainName>
Rfc1510UdpKdc SRV _kerberos._udp.<DnsDomainName>
Rfc1510Kpwd SRV _kpasswd._tcp.<DnsDomainName>
Rfc1510UdpKpwd SRV _kpasswd._udp.<DnsDomainName>

GC-spezifische Datensätze:

Mnemonisch type DNS-Einträge
Gc SRV _ldap._tcp.gc._msdcs.<DnsForestName>
GcIpAddress A gc._msdcs.<DnsForestName>
GenericGc SRV _gc._tcp.<DnsForestName>

Notiz

Diese Listen enthalten nicht die websitespezifischen Datensätze. Daher befinden sich DCs und GC-Server in Zweigstellen durch standortspezifische Datensätze, die in der Regel von einem DC-Locator verwendet werden. Wenn ein Programm mithilfe generischer (nicht standortspezifischer) Datensätze nach einem DC/GC sucht, z. B. eines der Einträge in den Listen, die weiter oben in diesem Artikel aufgeführt sind, findet es einen DC/GC an der zentralen Position.

Ein Administrator kann auch die Anzahl der DC-Locator-Einträge wie SRV und A-Einträge einschränken, die von Netlogon für denselben generischen DNS-Namen registriert wurden (_ldap._tcp.dc._msdcs).<DomainName>), auch in einem Szenario mit weniger als 1200 DCs in derselben Domäne, um die Größe der DNS-Antworten auf Abfragen für solche Einträge zu verringern.

Status

Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.

Weitere Informationen

Jeder DNS-Server, der für eine in Active Directory integrierte DNS-Zone autoritativ ist, fügt einen NS-Eintrag hinzu. Standardmäßig registriert jeder DC in einer Domäne einen SRV-Eintrag für eine Reihe von nicht standortspezifischen Namen wie "_ldap._tcp".<>domain_name" und A-Einträge, die den Active Directory-DNS-Domänennamen der TCP/IP-Adresse(n) des DC zuordnen. Wenn ein DNS-Server versucht, einen Eintrag nach ca. 1200 Datensätzen mit demselben freigegebenen Namen zu schreiben, wird die lokale Sicherheitsbehörde (Local Security Authority, LSA) bei ca. 100 Prozent CPU-Auslastung für ungefähr 10 Sekunden ausgeführt, und die Registrierung ist nicht erfolgreich. Netlogon ruft diese Registrierung jede Stunde erneut auf; Die Cpu-Auslastungsspitzen von 100 Prozent werden mindestens einmal pro Stunde wieder angezeigt, und die versuchten Registrierungen sind nicht erfolgreich.