Este artigo descreve o mecanismo usado pelo Windows XP
Professional para localizar um controlador de domínio em um domínio baseado em
Windows.
O artigo detalha o processo de localização de um domínio
pelo seu nome DNS e pelo nome NetBIOS, usado para fins de compatibilidade
retroativa. Em todos os outros casos, recomenda-se, como uma questão de
política, o uso dos nomes DNS.
O artigo também trata de questões que
envolvem a solução de problemas no processo de localização do controlador de
domínio.
A seqüência a seguir descreve como o Localizador encontra
um controlador de domínio:
- No cliente (o computador que está tentando localizar o
controlador de domínio), o Localizador é iniciado como uma RPC (Remote
Procedure Call) para o serviço Netlogon local. O serviço Netlogon implementa a
chamada API DsGetDcName do Localizador.
- O cliente coleta e passa as informações necessárias à
seleção de um controlador de domínio para o serviço Netlogon usando a chamada DsGetDcName.
- O serviço Netlogon no cliente usa as informações coletadas
com o intuito de procurar um controlador de domínio para o domínio especificado
de duas formas diferentes:
- O serviço Netlogon envia um datagrama para os computadores
que registraram o nome. Para nomes de domínio NetBIOS, o datagrama é
implementado como uma mensagem mailslot. Para nomes de domínio DNS, o datagrama
é implementado como uma busca UDP (User Datagram Protocol) LDAP.
O
UDP é um dos protocolos de transporte de datagrama sem conexão que formam o
conjunto de protocolos TCP/IP. O TCP é um protocolo de transporte orientado à
conexão. Observe que o UDP permite que um programa em um computador envie
datagramas para um outro programa em outro computador. O UDP inclui um número
de porta do protocolo, o qual permite que o emissor faça a distinção entre
múltiplos destinos (programas) no computador remoto. - Cada controlador de domínio disponível responde ao
datagrama para indicar que está em funcionamento, além de retornar as
informações para DsGetDcName.
- O serviço Netlogon armazena as informações sobre o
controlador de domínio em cache para que as próximas solicitações não precisem
repetir o processo de descoberta. O armazenamento dessas informações em cache
propicia um melhor uso do mesmo controlador de domínio, além de uma
visualização mais precisa do Active Directory.
Quando um cliente efetua o logon ou acessa a rede, este deve
ser capaz de localizar um controlador de domínio. O cliente envia uma consulta
DNS Lookup ao DNS procurando controladores de domínio, preferencialmente na sua
própria sub-rede. Por isso, os clientes encontram um controlador de domínio
consultando o DNS em busca de um registro no formato:
_LDAP._TCP.dc._msdcs.domainname
Depois de localizar um controlador de domínio, o cliente
estabelece a comunicação usando o LDAP (Lightweight Directory Access Protocol)
para obter acesso ao Active Directory. Como parte dessa negociação, o
controlador de domínio identifica em qual site o cliente se encontra, com base
na sua sub-rede IP. Se o cliente estiver se comunicando com um controlador de
domínio que não esteja no site mais próximo (o mais ideal), o controlador de
domínio retorna o nome do site do cliente.
Se o cliente já tiver
tentado achar controladores de domínio nesse site (ao enviar, por exemplo, uma
consulta DNS Lookup ao DNS para encontrar controladores de domínio em sua
própria sub-rede), ele usa outro controlador de domínio que não é o mais
otimizado. Do contrário, o cliente faz uma nova consulta DNS específica do site
usando o nome do site ideal. O controlador de domínio usa algumas das
informações do serviço de diretório para identificar sites e
sub-redes.
Depois que o cliente localiza um controlador de domínio, a
entrada referente a esse controlador é armazenada em cache. Se o controlador de
domínio não estiver no site ideal, o cliente esvazia o cache depois de 15
minutos e descarta a entrada correspondente. Em seguida, o cliente tenta
encontrar um controlador de domínio ideal no seu próprio site.
Depois de ter estabelecido um caminho de comunicação para o controlador de
domínio, o cliente pode definir o seu logon e as suas credenciais de
autenticação e, caso haja necessidade em computadores baseados em Windows,
configurar um canal seguro. Assim, o cliente está pronto para realizar
consultas normais e procurar informações no diretório.
Para efetuar o
logon, o cliente estabelece uma conexão LDAP com um controlador de domínio. O
logon usa o SAM (Security Accounts Manager). Como o caminho de comunicação usa
a interface LDAP e o cliente é autenticado por um controlador de domínio, a
conta do cliente é verificada e transmitida ao agente de serviço do diretório
(passando por SAM), à camada de banco de dados e, por fim, ao banco de dados
contido no ESE (Extensible Storage engine).
Solucionando Problemas no processo de Localização de Domínio
Como solucionar problemas no processo de localização de domínio:
- Veja, em Visualizar eventos, se os logs de evento contêm
alguma informação sobre erro. Veja, no log System tanto do cliente quanto do
servidor, se houve falhas durante o logon. Além disso, verifique os logs
Serviço de Diretório no servidor e os logs DNS no servidor DNS.
Para
abrir Visualizar eventos no Windows XP, clique em Iniciar, clique em Painel de controle, dê um duplo clique em Ferramentas administrativase, em seguida, dê um duplo clique em Visualizar eventos. - Verifique a configuração IP executando o comando
ipconfig /all em um prompt de comando. Veja se a configuração
está correta para a sua rede.
- Use o utilitário Ping para verificar a conectividade de
rede e a resolução do nome. Dê um ping tanto no endereço IP quanto no nome do
servidor.
- Abra a ferramenta Diagnósticos de rede no Centro de ajuda e
suporte em "Usar ferramentas para exibir informações sobre o computador e
diagnosticar problemas" para ver se os componentes de rede estão instalados e
funcionando corretamente. A ferramenta Diagnósticos de rede também realiza
alguns testes e oferece informações sobre a configuração da rede, informações
estas que podem ter grande utilidade.
- Use o comando nltest
/dsgetdc:domainname para verificar se um
controlador de domínio pode ser localizado para um domínio específico. A
ferramenta NLTest vem instalada com as ferramentas de suporte do Windows XP.
Para obter informações sobre como instalar essas ferramentas,
consulte o seguinte artigo na Base de Dados de Conhecimento da
Microsoft:306794
(http://support.microsoft.com/kb/306794/PT-BR/
)
How to Install the Support Tools from the Windows XP CD-ROM
- Use a ferramenta NSLookup para verificar se as entradas DNS
estão corretamente registradas no DNS. Veja se os registros de máquina do
servidor e os registros SRV GUID podem ser analisados.
Por exemplo,
para verificar um registro, use os seguintes comandos:nslookup nome_servidor.child_of_root_domain.root_domain.com
nslookup guid._msdcs.root_domain.com
- Se nenhum desses comandos funcionar, use um dos seguintes
métodos para efetuar novamente os registros com o DNS:
- Para forçar o registro de máquina, digite
ipconfig /registerdns.
- Para forçar o registro dos serviços de um domain
controller, reinicialize o serviço Netlogon.
- Para verificar a conectividade LDAP apropriada, use a
ferramenta Ldp.exe, conectando-se e ligando-se ao controlador de domínio.
Ldp.exe é uma ferramenta de suporte instalada a partir do CD-ROM do Windows XP.
Para obter informações sobre como instalar essas ferramentas,
consulte o seguinte artigo na Base de Dados de Conhecimento da
Microsoft:306794
(http://support.microsoft.com/kb/306794/PT-BR/
)
How to Install the Support Tools from the Windows XP CD-ROM
- Se você achar que um determinado controlador de domínio
está apresentando problemas, ative o log de depuração do Netlogon. Use o
utilitário NLTest digitando nltest /dbflag:0x2000ffff em
um prompt de comando. As informações são registradas na pasta Debug do arquivo
Netlogon.log.
- Se você, ainda assim, não tiver isolado o problema, use o
Monitor de rede para monitorar o tráfego de rede entre o cliente e o
controlador de domínio.
Para obter informações adicionais, consulte o Capítulo 10 do
Windows 2000 Server Resource Kit, "Active Directory Diagnostic,
Troubleshooting, and Recovery."