Problemas que pueden producirse con muchos controladores de dominio en zonas DNS integradas de Active Directory
Número de KB original: 267855
Se aplica a: Versiones admitidas de Windows Server
Es posible que los registros del sistema de nombres de dominio (DNS) de los registros SRV y del localizador de controlador de dominio (DC) A (registrados por Netlogon) y los registros NS (agregados por los servidores DNS autoritativos) en una zona DNS integrada de Active Directory para algunos controladores de dominio no funcionen en un dominio que contenga un gran número de controladores de dominio (normalmente más de 1200). Si la zona DNS integrada en Active Directory tiene el mismo nombre que el nombre de dominio de Active Directory, los problemas con el registro de registros A y registros NS en la raíz de zona parecen producirse en un dominio con más de 400 controladores de dominio. Además, se pueden registrar uno o varios de los siguientes mensajes de error en el registro de eventos:
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.
Este problema se produce porque Active Directory tiene una limitación de aproximadamente 1200 valores que se pueden asociar a un solo objeto. En una zona DNS integrada en Active Directory, los nombres DNS se representan mediante objetos dnsNode y los registros DNS se almacenan como valores en el atributo dnsRecord multivalor en objetos dnsNode, lo que provoca que se produzcan los mensajes de error enumerados anteriormente en este artículo.
Puede usar uno de los métodos siguientes para resolver este problema.
Si desea especificar una lista de servidores DNS que pueden agregar registros NS correspondientes a sí mismos a una zona especificada, elija un servidor DNS y, a continuación, ejecute Dnscmd.exe con el modificador /AllowNSRecordsAutoCreation:
Para establecer una lista de direcciones TCP/IP de servidores DNS que tienen permiso para crear automáticamente registros NS para una zona, use el
dnscmd servername /config zonename /AllowNSRecordsAutoCreation IPList
comando . Por ejemplo:Dnscmd NS1 /config zonename.com /AllowNSRecordsAutoCreation 10.1.1.1 10.5.4.2
Para borrar la lista de direcciones TCP/IP de los servidores DNS que tienen permiso para crear automáticamente registros NS para una zona y devolver la zona al estado predeterminado cuando cada servidor DNS principal agrega automáticamente a una zona un registro NS correspondiente a ella, use el
dnscmd servername /config zonename /AllowNSRecordsAutoCreation
comando . Por ejemplo:Dnscmd NS1 /config zonename.com /AllowNSRecordsAutoCreation
Para consultar la lista de direcciones TCP/IP de los servidores DNS que tienen permiso para crear automáticamente registros NS para una zona, use el
dnscmd servername /zoneinfo zonename /AllowNSRecordsAutoCreation
comando . Por ejemplo:Dnscmd NS1 /zoneinfo zonename.com /AllowNSRecordsAutoCreation
Nota
Ejecute este comando solo en un servidor DNS. La replicación de Active Directory propaga los cambios a todos los servidores DNS que se ejecutan en controladores de dominio del mismo dominio.
En un entorno en el que la mayoría de los controladores de dominio DNS de un dominio se encuentran en sucursales y algunas se encuentran en una ubicación central, es posible que desee usar el Dnscmd
comando descrito anteriormente en este artículo para establecer iplist para incluir solo los controladores de dominio DNS de ubicación central. Al hacerlo, solo los controladores de dominio DNS ubicados centralmente agregan sus registros NS respectivos a la zona de dominio de Active Directory.
Importante
Esta sección, método o tarea contiene pasos que le indican cómo modificar el Registro. No obstante, pueden producirse problemas graves si modifica el registro de manera incorrecta. En consecuencia, asegúrese de seguir estos pasos cuidadosamente. Para mayor protección, cree una copia de seguridad del registro antes de modificarlo. Después, puede restaurar el registro si se produce un problema. Para obtener más información, consulte Copia de seguridad y restauración del Registro en Windows.
Si desea elegir qué servidor DNS no agrega registros NS correspondientes a sí mismos a ninguna zona DNS integrada de Active Directory, use Editor del Registro (Regedt32.exe) para configurar el siguiente valor del Registro en cada servidor DNS afectado:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters
Valor del Registro: DisableNSRecordsAutoCreation
Tipo de datos: REG_DWORD
Intervalo de datos: 0x0 | 0x1
Valor predeterminado: 0x0
Este valor afecta a todas las zonas DNS integradas en Active Directory. Los valores tienen los significados siguientes:
Valor | Significado |
---|---|
0 | El servidor DNS crea automáticamente registros NS para todas las zonas DNS integradas en Active Directory a menos que cualquier zona, hospedada por el servidor, contenga el atributo AllowNSRecordsAutoCreation (descrito anteriormente en este artículo) que no incluya el servidor. En esta situación, el servidor usa la configuración AllowNSRecordsAutoCreation. |
1 | El servidor DNS no crea automáticamente registros NS para todas las zonas DNS integradas en Active Directory, independientemente de la configuración AllowNSRecordsAutoCreation en las zonas DNS integradas en Active Directory. |
Nota
Para aplicar los cambios a este valor, debe reiniciar el servicio servidor DNS.
Si desea evitar que determinados servidores DNS agreguen sus registros NS correspondientes a las zonas DNS integradas en Active Directory que hospedan, puede usar el valor del Registro DisableNSRecordsAutoCreation descrito anteriormente en este artículo.
Nota
Si el valor del Registro DisableNSRecordsAutoCreation está establecido en 0x1, ninguna de las zonas DNS integradas en Active Directory hospedadas por ese servidor DNS contendrá sus registros NS. Por lo tanto, si este servidor debe agregar su propio registro NS a al menos una zona DNS integrada en Active Directory que hospeda, no establezca el valor del Registro en 0x1.
Importante
Esta sección, método o tarea contiene pasos que le indican cómo modificar el Registro. No obstante, pueden producirse problemas graves si modifica el registro de manera incorrecta. En consecuencia, asegúrese de seguir estos pasos cuidadosamente. Para mayor protección, cree una copia de seguridad del registro antes de modificarlo. Después, puede restaurar el registro si se produce un problema. Para obtener más información, consulte Copia de seguridad y restauración del Registro en Windows.
La parte netlogon de esta revisión proporciona a los administradores un mayor control, como se describió anteriormente en este artículo. Debe aplicar la corrección a cada controlador de dominio. Además, para evitar que un controlador de dominio intente actualizaciones dinámicas de determinados registros DNS que Netlogon actualiza dinámicamente de forma predeterminada, use Regedt32.exe para configurar el siguiente valor del Registro:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters
Valor del Registro: DnsAvoidRegisterRecords
Tipo de datos: REG_MULTI_SZ
En este valor, especifique la lista de mnemónicos correspondientes a los registros DNS que no debe registrar este controlador de dominio.
Nota
Establezca el valor en la lista de los mnemotécnicos delimitados por entrar que se especifican en la tabla siguiente.
La lista de mnemónicas incluye:
Mnemónica | Tipo | Registro 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> |
Nota
No es necesario reiniciar el servicio Netlogon. Si el valor del Registro DnsAvoidRegisterRecords se crea o modifica mientras el servicio Netlogon se detiene o dentro de los primeros 15 minutos después de que se inicie Netlogon, las actualizaciones de DNS adecuadas tienen lugar con un breve retraso (sin embargo, el retraso no es superior a 15 minutos después de que se inicie Netlogon).
Los registros DNS de registros A realizados por Netlogon también se pueden modificar mediante el valor del Registro RegisterDnsARecords. Para obtener más información, vea Cómo habilitar o deshabilitar las actualizaciones de DNS en Windows.
Tenga en cuenta que los valores del Registro DnsAvoidRegisterRecords y RegisterDnsARecords deben permitir el registro del host (A):
- RegisterDnsARecords = 0x1
Si enumera LdapIpAddress y GcIpAddress en la configuración del valor del Registro DnsAvoidRegisterRecords, no se registrarán los registros A. - RegisterDnsARecords = 0x0
Independientemente de si enumera LdapIpAddress y GcIpAddress en la configuración del valor del Registro DnsAvoidRegisterRecords, los registros A no se registran.
Para evitar que el problema descrito anteriormente en este artículo se produzca en un entorno en el que un conjunto de controladores de dominio o servidores de catálogo global (GC) se encuentran en una ubicación central y un gran número de los controladores de dominio o servidores gc se encuentran en sucursales, el administrador puede deshabilitar el registro de algunos de los registros DNS de Netlogon en los controladores de dominio o GCs de las sucursales. En esta situación, la lista de mnemónicas que no deben registrarse incluye:
Registros específicos del controlador de dominio:
Mnemónica | Tipo | Registro 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> |
Registros específicos de GC:
Mnemónica | Tipo | Registro DNS |
---|---|---|
Gc | SRV | _ldap._tcp.gc._msdcs.<DnsForestName> |
GcIpAddress | A | gc._msdcs.<DnsForestName> |
GenericGc | SRV | _gc._tcp.<DnsForestName> |
Nota
Estas listas no incluyen los registros específicos del sitio. Por lo tanto, los controladores de dominio y los servidores gc de las sucursales se encuentran en registros específicos del sitio que suelen usar un localizador de controlador de dominio. Si un programa busca un controlador de dominio o gc mediante registros genéricos (no específicos del sitio), como cualquiera de los registros de las listas enumeradas anteriormente en este artículo, encuentra un CONTROLADOR de dominio o GC en la ubicación central.
Un administrador también puede optar por limitar el número de registros del localizador de controlador de dominio, como los registros SRV y A registrados por Netlogon para el mismo nombre DNS genérico (_ldap._tcp.dc._msdcs.<DomainName>), incluso en un escenario con menos de 1200 controladores de dominio en el mismo dominio, para reducir el tamaño de las respuestas DNS a las consultas de dichos registros.
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "Se aplica a".
Cada servidor DNS autoritativo para una zona DNS integrada en Active Directory agrega un registro NS. De forma predeterminada, cada controlador de dominio de un dominio registra un registro SRV para un conjunto de nombres no específicos del sitio, como "_ldap._tcp.<>domain_name" y registros A que asignan el nombre de dominio DNS de Active Directory a las direcciones TCP/IP del controlador de dominio. Cuando un servidor DNS intenta escribir un registro después de aproximadamente 1200 registros con el mismo nombre compartido, la entidad de seguridad local (LSA) se ejecuta al 100 % de uso de CPU durante aproximadamente 10 segundos y el registro no se realiza correctamente. Netlogon reintenta este registro cada hora; El pico de uso de CPU del 100 % vuelve a aparecer al menos una vez por hora y los registros intentados no se realizan correctamente.