Problèmes qui peuvent se produire avec de nombreux contrôleurs de domaine dans les zones DNS intégrées Active Directory
Numéro de la base de connaissances d’origine : 267855
S’applique à : Versions prises en charge de Windows Server
Inscriptions DNS (Domain Name System) de SRV et de localisateur de contrôleur de domaine (DC) Les enregistrements A (enregistrés par Netlogon) et NS (ajoutés par les serveurs DNS faisant autorité) dans une zone DNS intégrée à Active Directory pour certains contrôleurs de domaine peuvent ne pas fonctionner dans un domaine qui contient un grand nombre de contrôleurs de domaine (généralement plus de 1 200). Si la zone DNS intégrée à Active Directory a le même nom que le nom de domaine Active Directory, des problèmes d’inscription des enregistrements A et NS à la racine de la zone semblent se produire dans un domaine avec plus de 400 contrôleurs de domaine. En outre, un ou plusieurs des messages d’erreur suivants peuvent être enregistrés dans le journal des événements :
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.
Ce problème se produit parce qu’Active Directory a une limitation d’environ 1 200 valeurs qui peuvent être associées à un seul objet. Dans une zone DNS intégrée à Active Directory, les noms DNS sont représentés par des objets dnsNode, et les enregistrements DNS sont stockés en tant que valeurs dans l’attribut dnsRecord à valeurs multiples sur les objets dnsNode, ce qui provoque les messages d’erreur répertoriés plus haut dans cet article.
Vous pouvez utiliser l’une des méthodes suivantes pour résoudre ce problème.
Si vous souhaitez spécifier une liste de serveurs DNS pouvant ajouter des enregistrements NS correspondant à eux-mêmes à une zone spécifiée, choisissez un serveur DNS, puis exécutez Dnscmd.exe avec le commutateur /AllowNSRecordsAutoCreation :
Pour définir une liste d’adresses TCP/IP de serveurs DNS autorisés à créer automatiquement des enregistrements NS pour une zone, utilisez la
dnscmd servername /config zonename /AllowNSRecordsAutoCreation IPList
commande . Par exemple :Dnscmd NS1 /config zonename.com /AllowNSRecordsAutoCreation 10.1.1.1 10.5.4.2
Pour effacer la liste des adresses TCP/IP des serveurs DNS autorisés à créer automatiquement des enregistrements NS pour une zone et à rétablir l’état par défaut de la zone lorsque chaque serveur DNS principal ajoute automatiquement à une zone un enregistrement NS qui lui correspond, utilisez la
dnscmd servername /config zonename /AllowNSRecordsAutoCreation
commande . Par exemple :Dnscmd NS1 /config zonename.com /AllowNSRecordsAutoCreation
Pour interroger la liste des adresses TCP/IP des serveurs DNS autorisés à créer automatiquement des enregistrements NS pour une zone, utilisez la
dnscmd servername /zoneinfo zonename /AllowNSRecordsAutoCreation
commande . Par exemple :Dnscmd NS1 /zoneinfo zonename.com /AllowNSRecordsAutoCreation
Note
Exécutez cette commande sur un seul serveur DNS. La réplication Active Directory propage les modifications à tous les serveurs DNS qui s’exécutent sur les contrôleurs de domaine dans le même domaine.
Dans un environnement dans lequel la majorité des contrôleurs de domaine DNS d’un domaine se trouvent dans des filiales et quelques-uns se trouvent dans un emplacement central, vous pouvez utiliser la Dnscmd
commande décrite plus haut dans cet article pour définir ipList de sorte qu’elle inclue uniquement les contrôleurs de domaine DNS situés de manière centralisée. Ainsi, seuls les contrôleurs de domaine DNS situés de manière centralisée ajoutent leurs enregistrements NS respectifs à la zone de domaine Active Directory.
Important
Cette section, méthode ou tâche contient des étapes vous indiquant comment modifier le Registre. Toutefois, des problèmes graves peuvent se produire si vous modifiez le Registre de façon incorrecte. Par conséquent, veillez à suivre ces étapes scrupuleusement. Pour une meilleure protection, sauvegardez le registre avant de le modifier. Vous pouvez alors le restaurer en cas de problème. Pour plus d’informations, consultez Comment sauvegarder et restaurer le Registre dans Windows.
Si vous souhaitez choisir le serveur DNS qui n’ajoute pas d’enregistrements NS correspondant à eux-mêmes à une zone DNS intégrée à Active Directory, utilisez la Rédacteur du Registre (Regedt32.exe) pour configurer la valeur de Registre suivante sur chaque serveur DNS affecté :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters
Valeur de Registre : DisableNSRecordsAutoCreation
Type de données : REG_DWORD
Plage de données : 0x0 | 0x1
Valeur par défaut : 0x0
Cette valeur affecte toutes les zones DNS intégrées à Active Directory. Les valeurs ont les significations suivantes :
Valeur | Signification |
---|---|
0 | Le serveur DNS crée automatiquement des enregistrements NS pour toutes les zones DNS intégrées à Active Directory, sauf si une zone hébergée par le serveur contient l’attribut AllowNSRecordsAutoCreation (décrit plus haut dans cet article) qui n’inclut pas le serveur. Dans ce cas, le serveur utilise la configuration AllowNSRecordsAutoCreation. |
1 | Le serveur DNS ne crée pas automatiquement d’enregistrements NS pour toutes les zones DNS intégrées à Active Directory, quelle que soit la configuration AllowNSRecordsAutoCreation dans les zones DNS intégrées à Active Directory. |
Note
Pour appliquer les modifications à cette valeur, vous devez redémarrer le service serveur DNS.
Si vous souhaitez empêcher certains serveurs DNS d’ajouter leurs enregistrements NS correspondants aux zones DNS intégrées à Active Directory qu’ils hébergent, vous pouvez utiliser la valeur de Registre DisableNSRecordsAutoCreation décrite plus haut dans cet article.
Note
Si la valeur de Registre DisableNSRecordsAutoCreation est définie sur 0x1, aucune des zones DNS intégrées à Active Directory hébergées par ce serveur DNS ne contiendra ses enregistrements NS. Par conséquent, si ce serveur doit ajouter son propre enregistrement NS à au moins une zone DNS intégrée à Active Directory qu’il héberge, ne définissez pas la valeur de Registre sur 0x1.
Important
Cette section, méthode ou tâche contient des étapes vous indiquant comment modifier le Registre. Toutefois, des problèmes graves peuvent se produire si vous modifiez le Registre de façon incorrecte. Par conséquent, veillez à suivre ces étapes scrupuleusement. Pour une meilleure protection, sauvegardez le registre avant de le modifier. Vous pouvez alors le restaurer en cas de problème. Pour plus d’informations, consultez Comment sauvegarder et restaurer le Registre dans Windows.
La partie Netlogon de ce correctif logiciel offre aux administrateurs un meilleur contrôle, comme décrit plus haut dans cet article. Vous devez appliquer le correctif à chaque contrôleur de domaine. En outre, pour empêcher un contrôleur de domaine de tenter de mettre à jour dynamiquement certains enregistrements DNS qui, par défaut, sont mis à jour dynamiquement par Netlogon, utilisez Regedt32.exe pour configurer la valeur de Registre suivante :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters
Valeur de Registre : DnsAvoidRegisterRecords
Type de données : REG_MULTI_SZ
Dans cette valeur, spécifiez la liste des mnémoniques correspondant aux enregistrements DNS qui ne doivent pas être enregistrés par ce contrôleur de domaine.
Note
Définissez la valeur sur la liste des mnémoniques délimités par une entrée qui sont spécifiés dans le tableau suivant.
La liste des mnémoniques comprend :
Mnémonique | Type | Enregistrement DNS |
---|---|---|
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> |
Note
Il n’est pas nécessaire de redémarrer le service Netlogon. Si la valeur de Registre DnsAvoidRegisterRecords est créée ou modifiée pendant l’arrêt du service Netlogon ou dans les 15 premières minutes suivant le démarrage de Netlogon, les mises à jour DNS appropriées ont lieu avec un court délai (toutefois, le délai est au plus tard 15 minutes après le démarrage de Netlogon).
Les inscriptions DNS des enregistrements A effectuées par Netlogon peuvent également être modifiées à l’aide de la valeur de Registre RegisterDnsARecords. Pour plus d’informations, consultez Comment activer ou désactiver les mises à jour DNS dans Windows.
N’oubliez pas que les valeurs de Registre DnsAvoidRegisterRecords et RegisterDnsARecords doivent autoriser l’enregistrement de l’hôte (A) :
- RegisterDnsARecords = 0x1
Si vous répertoriez LdapIpAddress et GcIpAddress dans les paramètres de valeur de Registre DnsAvoidRegisterRecords, les enregistrements A ne sont pas inscrits. - RegisterDnsARecords = 0x0
Que vous listiez LdapIpAddress et GcIpAddress dans les paramètres de valeur de Registre DnsAvoidRegisterRecords, les enregistrements A ne sont pas inscrits.
Pour éviter que le problème décrit précédemment dans cet article ne se produise dans un environnement dans lequel un ensemble de contrôleurs de domaine et/ou de serveurs de catalogue global (GC) se trouvent dans un emplacement central et où un grand nombre de contrôleurs de domaine et/ou de serveurs GC se trouvent dans des succursales, l’administrateur peut désactiver l’inscription de certains enregistrements DNS par Netlogon sur les contrôleurs de domaine/contrôleurs de groupe dans les succursales. Dans ce cas, la liste des mnémoniques qui ne doivent pas être enregistrés comprend :
Enregistrements spécifiques au contrôleur de domaine :
Mnémonique | Type | Enregistrement DNS |
---|---|---|
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> |
Enregistrements spécifiques au GC :
Mnémonique | Type | Enregistrement DNS |
---|---|---|
Gc | SRV | _ldap._tcp.gc._msdcs.<DnsForestName> |
GcIpAddress | A | gc._msdcs.<DnsForestName> |
GenericGc | SRV | _gc._tcp.<DnsForestName> |
Note
Ces listes n’incluent pas les enregistrements spécifiques au site. Par conséquent, les contrôleurs de domaine et les serveurs GC dans les succursales sont situés par des enregistrements spécifiques au site qui sont généralement utilisés par un localisateur de contrôleur de domaine. Si un programme recherche un contrôleur de domaine/gc à l’aide d’enregistrements génériques (non spécifiques au site), comme l’un des enregistrements figurant dans les listes répertoriées plus haut dans cet article, il trouve un contrôleur de domaine/gc à l’emplacement central.
Un administrateur peut également choisir de limiter le nombre d’enregistrements de localisateur de contrôleur de domaine tels que les enregistrements SRV et A inscrits par Netlogon pour le même nom DNS générique (_ldap._tcp.dc._msdcs.<DomainName>), même dans un scénario avec moins de 1 200 contrôleurs de domaine dans le même domaine, afin de réduire la taille des réponses DNS aux requêtes pour ces enregistrements.
Microsoft a confirmé l’existence de ce problème dans les produits Microsoft répertoriés dans la section « Produits concernés ».
Chaque serveur DNS faisant autorité pour une zone DNS intégrée à Active Directory ajoute un enregistrement NS. Par défaut, chaque contrôleur de domaine d’un domaine inscrit un enregistrement SRV pour un ensemble de noms non spécifiques au site, comme « _ldap._tcp.<>domain_name » et Enregistrement(s) qui mappent le nom de domaine DNS Active Directory aux adresses TCP/IP du contrôleur de domaine. Lorsqu’un serveur DNS tente d’écrire un enregistrement après environ 1 200 enregistrements portant le même nom partagé, l’autorité de sécurité locale (LSA) s’exécute à 100 % de l’utilisation du processeur pendant environ 10 secondes et l’inscription échoue. Netlogon retente cette inscription toutes les heures ; le pic d’utilisation du processeur de 100 % réapparaît au moins une fois par heure et les tentatives d’inscription ne réussissent pas.