Búsqueda de sitios web

"No se pudo contactar con un controlador de dominio de Active Directory" [Resuelto]


Todos los administradores de TI que administran máquinas en un entorno de Active Directory han estado allí. Intenta agregar una computadora a un dominio de Active Directory (AD) y aparece el temido error “No se pudo contactar con un controlador de dominio de Active Directory”. En este artículo, conocerá los pasos para diagnosticar (y resolver) este problema definitivamente.

Una herramienta GRATUITA de solo lectura que escanea su AD y genera múltiples informes interactivos para que pueda medir la efectividad de sus políticas de contraseñas contra un ataque de fuerza bruta. ¡Descargue Specops Password Auditor ahora!

Este error está relacionado con DNS. El principal problema es que la computadora no pudo encontrar un registro DNS SRV apropiado que necesita para unirse al dominio AD.

He reunido algunos pasos que debes seguir para corregir este error y unir tu computadora a tu dominio.

Asegúrese de estar utilizando los servidores DNS adecuados

Antes de adentrarse demasiado en una madriguera de conejo, primero asegúrese de estar utilizando los servidores DNS correctos en primer lugar.

Active Directory y DNS tienen una relación especial. Los controladores de dominio registran registros específicos en servidores DNS que conocen. Estos viven en la zona _ldap._tcp.dc.msdcs. y ayudan a los dispositivos unidos a AD a encontrar recursos como controladores de dominio. Los registros SRV no existirán en servidores DNS que no estén integrados en AD.

Para resolver este problema, debe utilizar:

  • Un servidor DNS integrado en AD
  • Un servidor DNS que replica registros de un servidor DNS compatible con AD
  • Un servidor DNS que tiene reenvío configurado para consultar un servidor DNS integrado en AD o un servidor DNS con registros replicados.

Para verificar que el servidor DNS que está utilizando sea uno de los anteriores, ejecute el siguiente comando en una sesión de PowerShell en una computadora unida a un dominio existente:

PS C:\> Get-DnsClientServerAddress

InterfaceAlias               Interface Address ServerAddresses
                             Index     Family
--------------               --------- ------- ---------------
Ethernet                             9 IPv4    {10.0.0.101}
Ethernet                             9 IPv6    {}
Loopback Pseudo-Interface 1          1 IPv4    {}
Loopback Pseudo-Interface 1          1 IPv6    {fec0:0:0:ffff::1, fec0:0:0:ffff::2, fec0:0:0:ffff::3}

Las respuestas que obtiene en la columna ServerAddesses son los servidores DNS que utiliza esa computadora. Si no tiene otro cliente de dominio para verificar, deberá comunicarse con su equipo de red para obtener esta información.

Puede usar el cmdlet Set-DnsClientServerAddress de PowerShell para cambiar la configuración del cliente DNS de la computadora o mediante el cuadro de diálogo Propiedades de IPv4 para la tarjeta de red de la computadora. Esto se logra yendo a Panel de control -> Red -> Internet -> Conexiones de red.

Una vez en la ventana Conexiones de red, haga clic derecho en la tarjeta de red, elija Propiedades, elija Protocolo de Internet versión 4 (TCP/IPv4) y luego haga clic en Propiedades.

Si la red utiliza el Protocolo de configuración dinámica de host (DHCP), asegúrese de que las opciones Obtener una dirección IP automáticamente y Obtener la dirección del servidor DNS automáticamente estén seleccionadas.

Si su red no utiliza DHCP, actualice los valores de Servidor DNS preferido y Servidor DNS alternativo a los valores correctos que obtuvo anteriormente.

Encuentra el verdadero error

Si ha confirmado que su computadora tiene los servidores DNS correctos, entonces es hora de avanzar un poco más.

Cuando intenta unir una computadora a un dominio, aparece el error "No se pudo contactar con un controlador de dominio de Active Directory", pero no es el mensaje de error "verdadero". Necesitas profundizar un poco más.

Notarás en el cuadro de diálogo de error un botón Detalles >>. Haga clic en eso. Esto devolverá información más granular que le permitirá solucionar mejor este error.

Puede seleccionar el contenido del cuadro de texto para copiarlo y pegarlo en un visor de texto, o puede encontrar la misma información en el archivo C:\windows\debug\dcdiag.txt en esa máquina. Este archivo lo crea Windows cuando se produce el error.

El texto del error contiene información clave. He marcado cada uno de estos con números y negrita en el siguiente ejemplo:

  • El nombre de dominio que la máquina cree que le ha pedido para unirse (1)
  • El código de error (2)
  • La consulta de DNS que se realizó (3)
  • Los servidores DNS que la máquina consultó (si los hay) (4)

Nota: Esta información está destinada a un administrador de red. Si no es el administrador de su red, notifique al administrador que ha recibido esta información, que se ha registrado en el archivo C:\windows\debug\dcdiag.txt.

Se produjo el siguiente error cuando se consultó a DNS el registro de recursos de ubicación de servicio (SRV) utilizado para ubicar un controlador de dominio de Active Directory (AD DC) para el dominio “carisbrookelabs.local”(1):

El error fue: "El nombre DNS no existe".
(código de error 0x0000232B RCODE_NAME_ERROR) (2)

La consulta era para el registro SRV de _ldap._tcp.dc._msdcs.carisbrookelabs.local (3)

Las causas comunes de este error incluyen las siguientes:

Los registros DNS SRV necesarios para ubicar un AD DC para el dominio no están registrados en DNS. Estos registros se registran automáticamente en un servidor DNS cuando se agrega un AD DC a un dominio. El AD DC los actualiza a intervalos establecidos. Esta computadora está configurada para usar servidores DNS con las siguientes direcciones IP:

8.8.4.4
8.8.8.8 (4)

Una o más de las siguientes zonas no incluyen la delegación a su zona secundaria: carisbrookelabs.local

local
. (la zona raíz)

0x0000267C DNS_ERROR_NO_DNS_SERVIDOR

Este error indica que no se pudo encontrar el servidor DNS ni siquiera para intentar la consulta. Ni siquiera tuvo la oportunidad. Normalmente, esto se debe a que no hay conectividad de red con el servidor DNS.

Tenga en cuenta que puede unirse a una computadora sin una conexión de red, lo que se conoce como "unir a un dominio sin conexión", pero eso está fuera del alcance de este artículo.

Solucionar problemas de conexión de red

Si ve este mensaje de error, deberá comenzar a solucionar algunos problemas de red.

  1. Verifique que su adaptador de red esté habilitado y que pueda conectarse a otros recursos de red.
  2. Comprueba que tienes una dirección IP y servidores DNS configurados.

Puede verificar una dirección IP y servidores DNS ejecutando ipconfig /all.

Si tiene una dirección IP y puede acceder a otros recursos de la red, deberá probar su conexión entre la computadora y el servidor DNS.

Para hacerlo, puede utilizar ping y el cmdlet Test-Connection de PowerShell. Pruebe la conectividad con los servidores DNS utilizando cualquiera de estas dos utilidades. Si se permite el tráfico del Protocolo de mensajes de control de Internet (ICMP) en la red, debería recibir una respuesta. Si hay un error o un tiempo de espera, lo más probable es que tengas algún tipo de problema de red, como el enrutamiento. Hable con su equipo de redes para resolver el problema y luego intente unirse nuevamente.

Verifique la conectividad DNS

Si ha confirmado que su conexión de red está funcionando, deberá asegurarse de que su computadora pueda conectarse a través de TCP/53 al servidor DNS.

Intente utilizar el cmdlet de PowerShell Resolve-DNSName con el FQDN del dominio al que está intentando unirse. Esto debería devolver uno o más registros del servidor DNS:

PS C:\> Resolve-DNSName carisbrookelabs.local


Name                                           Type   TTL   Section	IPAddress
----                                       	----   ---   -------	---------
carisbrookelabs.local                      	A  	600   Answer 	10.0.0.103
carisbrookelabs.local                      	A  	600   Answer 	10.0.0.102
carisbrookelabs.local                      	A  	600   Answer 	10.0.0.101

Si recibe un error, vale la pena comprobar que no hay nada que bloquee el tráfico IP en el puerto 53 (el puerto utilizado para el tráfico DNS) entre su máquina y los servidores DNS.

Puede realizar una comprobación sencilla de la conectividad en el puerto 53 utilizando el cmdlet Test-NetConnection (que no debe confundirse con el cmdlet Test-Connection):

PS C:\> Test-NetConnection -Port 53 -ComputerName <DNSSERVERHERE>
True

Recibirá una respuesta Verdadero si la conexión se realiza correctamente, o Falso si falla. Una falla podría deberse a una red o un firewall basado en host en el servidor DNS.

0x0000232B RCODE_NAME_ERROR

Este error significa que se pudo encontrar el servidor DNS pero no se encontró el registro SRV. Este error requiere un poco más de solución de problemas.

Asegúrese de estar utilizando el FQDN del dominio

Parece simple, pero verifique que el nombre que escribió coincida con el nombre de dominio completo (FQDN) del dominio al que está intentando unirse. Sólo debe ser un nombre de dominio, no un nombre de servidor. Por ejemplo, utilice carisbrookelabs.local y no WIN-3467RQTHJH5.carisbrookelabs.local.

Si tiene alguna duda, verifique el nombre de dominio de un cliente de dominio existente. Puede encontrar el nombre de dominio apropiado ejecutando este comando de PowerShell en un cliente de dominio existente.

PS51> (Get-CimInstance Win32_ComputerSystem).Domain
carisbrookelabs.local

Si intenta utilizar el nombre NETBIOS (contoso) frente al FQDN (contoso.local), la computadora podría encontrar el dominio, pero Windows tratará el nombre como un FQDN de todos modos.

Si escribe un nombre NETBIOS y no tiene una infraestructura WINS, obtendrá el error que estamos intentando corregir. Utilice siempre un FQDN en lugar de un nombre NETBIOS.

Verificar registros DNS

Para este paso, utilizará Resolve-DNSName nuevamente. Esta vez usando el registro DNS exacto que no se recuperó cuando intentó unir su máquina al dominio. Cópielo y péguelo desde el archivo dcdiag.txt mencionado en la introducción, o la copia del texto de error que tomó anteriormente. Esto evitará errores tipográficos con guiones bajos y guiones.

Su comando debería verse así:

PS C:\> Resolve-DNSName _ldap._tcp.dc._msdcs.carisbrookelabs.local


Name                    	Type TTL   Section	PrimaryServer           	NameAdministrator       	SerialNumber
----                    	---- ---   -------	-------------           	-----------------       	------------
_msdcs.carisbrookelabs.loca SOA  3600  Authority  WIN-3467RQTHJH5.carisbrooke hostmaster.carisbrookelabs. 419
l                                             	labs.local              	local

Utilice la herramienta gratuita Specops Password Auditor para escanear su Active Directory e identificar vulnerabilidades relacionadas con las contraseñas, incluidas más de 930 millones de contraseñas comprometidas conocidas. ¡Descárgalo hoy!

Si obtiene El nombre DNS no existe como respuesta a este comando, entonces su problema está en el DNS.

  • Asegúrate de estar utilizando el servidor DNS correcto
  • Asegúrese de que los registros relevantes no se hayan eliminado

Si obtiene una respuesta positiva a Resolve-DNSName _msdcs. pero obtiene un el nombre DNS no existe de Resolve-DNSName _ldap._tcp.dc. _msdcs., entonces faltan los registros.

Vuelva a registrar los registros DNS de su controlador de dominio utilizando el comando ipconfig /registerdns en cada DC. Es posible que los registros tarden unos minutos en aparecer.

Una vez que pueda confirmar la presencia de los registros DNS requeridos usando Resolve-DNSName entonces estará listo para comenzar.

Resumen

En este artículo, ha aprendido algunos pasos que puede seguir al solucionar el error "No se pudo contactar con un controlador de dominio de Active Directory". Es imposible cubrir todos los escenarios en un artículo como este, pero espero que el proceso funcione para ti y te lleve por el camino correcto.

Otras lecturas

  • DNS y AD DS en Microsoft Docs
  • Conexión de prueba: Ping Remote aloja al estilo PowerShell
  • Cmdlet Resolve-DNSName en Microsoft Docs
  • Uso del cmdlet Test-NetConnection de PowerShell en Windows

Artículos relacionados