Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo ajuda você a solucionar o problema em que vários registros são registrados com o mesmo endereço IP. O problema é causado pelas configurações de eliminação do DNS (Sistema de Nomes de Domínio) e pela duração da concessão do DHCP (Dynamic Host Configuration Protocol).
Cenário
Considere o cenário a seguir.
Em um servidor DHCP, você tem as seguintes configurações:
- Um escopo DHCP tem sua duração de concessão definida como o padrão de oito dias.
- O escopo do DHCP é baixo em endereços IP disponíveis.
- O cliente A não renova sua concessão de endereço IP em oito dias e expira.
- O cliente B solicita um novo endereço IP.
- O servidor DHCP atribui ao cliente B o endereço que é alugado ao cliente A.
Este cenário é típico e tudo funciona corretamente.
Em um servidor DNS, você tem as seguintes configurações:
- Uma zona DNS integrada do Active Directory (AD) é definida para eliminar registros de recursos obsoletos.
- A eliminação de registros DNS usa configurações padrão: Intervalo sem atualização = 7 dias, Intervalo de atualização = 7 dias e Período de eliminação = 7 dias.
- O cliente A renovou seu registro DNS há oito dias, quando a concessão de DHCP do cliente foi atualizada pela última vez.
- Por padrão, o cliente A é o proprietário de seu registro DNS, portanto, o registro não pode ser excluído pelo servidor DHCP.
- O cliente B registra seu registro DNS com o novo endereço IP recebido do servidor DHCP, que é o mesmo que o registro registrado no cliente A.
Nesse cenário, o servidor DNS não pode eliminar o registro DNS do cliente A por mais seis dias. Agora, o cliente A e o cliente B têm o mesmo endereço IP registrado no DNS.
Análise de problemas
Vários problemas ocorrem devido ao mesmo registro DNS para nomes diferentes. Por exemplo, problema de instalação com clientes do Microsoft System Center Configuration Manager (SCCM).
Confira outro exemplo. Ao acessar um compartilhamento no cliente A, você recebe a seguinte mensagem de erro, mesmo quando o cliente A não está ativado.
Esse erro é causado porque um tíquete Kerberos destinado a um computador é enviado para outro computador. A seção a seguir percorre todo o processo.
Fluxos de rede durante a falha de logon
O computador (Infra-App1) faz uma consulta DNS para client-a.corp.contoso.com
. Respostas DNS de volta com o endereço IP 10.0.0.100.
No que diz respeito ao DNS, o resultado está correto. O cliente A tem 10.0.0.100 listado como seu endereço IP, assim como o cliente B.
Em seguida, o computador Infra-App1 solicita um tíquete Kerberos. A consulta DNS é para o cliente A, portanto, a solicitação do TGS (Serviço de Concessão de Tíquete) também é para o cliente A.
A solicitação do TGS:
A resposta do controlador de domínio:
Depois que o computador Infra-App1 recebe o tíquete, o computador tenta se conectar ao cliente A. O tíquete Kerberos está incluído nesse quadro.
Por fim, o cliente remoto retorna um erro porque o computador Infra-App1 se conecta ao cliente B.
O erro é esperado porque você deve apresentar o tíquete certo para a conta certa para fazer o Kerberos funcionar.
Observação
Para obter mais informações sobre o Kerberos, consulte Kerberos para o administrador ocupado.
Esse problema não ocorrerá se você usar o endereço IP em vez do FQDN (nome de domínio totalmente qualificado), pois a autenticação NTLM (New Technology LAN Manager) é usada em vez da autenticação Kerberos. Quando você usa o endereço IP para se conectar ao cliente, não há suposição sobre a qual cliente está sendo conectado. Portanto, o computador deve negociar o NTLM primeiro. Para o exemplo na seção de cenário , o Kerberos retorna uma resposta válida, para que o computador não faça failover para usar NTLM.
Resoluções
Como esse problema está relacionado a registros DNS obsoletos, você pode usar resoluções diferentes para evitar que o problema ocorra.
Observação
Para cada resolução, recomendamos reduzir o intervalo de eliminação para um a três dias. O padrão de sete dias estende o período em que os registros inválidos permanecem no DNS.
Resolução 1
Aumente a duração da concessão do DHCP para corresponder aos intervalos Sem atualização + Atualização . Para o exemplo na seção de cenário , você pode aumentar a concessão de DHCP para 14 dias.
Vantagem:
As concessões DHCP permanecem até que o registro DNS seja eliminado. Nenhum outro cliente recebe e registra o endereço no DNS.
Desvantagem:
Se o escopo do DHCP já estiver com poucos endereços, os endereços IP poderão acabar.
Uma pequena porcentagem de registros pode não ser eliminada antes que o contrato expire devido a pequenas diferenças de tempo. Definir o intervalo de eliminação como um dia garante que os registros obsoletos sejam removidos no dia seguinte.
Resolução 2
Diminua os intervalos Sem atualização + Atualização para corresponder à concessão DHCP. Para o exemplo na seção de cenário , você pode diminuir Sem atualização e Atualização para quatro dias.
Vantagem:
O registro DNS existente é eliminado mais cedo, obtendo afetivamente os mesmos resultados da primeira solução.
Desvantagem:
Se essas forem zonas DNS integradas ao AD, a frequência de replicação do AD aumentará. Isso ocorre porque os registros DNS serão atualizados pelos clientes com mais frequência. Por exemplo, a cada quatro dias em vez de a cada sete dias.
Uma pequena porcentagem de registros pode não ser eliminada antes que o contrato expire devido a pequenas diferenças de tempo. Definir o intervalo de eliminação como um dia garante que os registros obsoletos sejam removidos no dia seguinte.
Resolução 3
Permita que o servidor DHCP registre os endereços em nome dos clientes.
Vantagem:
O servidor DHCP pode remover o registro DNS assim que a concessão expirar. Se a configuração estiver correta, nenhum registro duplicado deverá existir.
Desvantagem:
A configuração é mais complicada.
Uma conta de serviço precisa ser configurada para executar o serviço DHCP ou todos os servidores DHCP precisam ser ingressados no grupo DNSUpdateProxy (menos seguro). A configuração adiciona complexidade.
Para fazer isso, consulte Como configurar atualizações dinâmicas de DNS no Windows.
Experimente a duração da concessão de DHCP, o intervalo sem atualização e o intervalo de atualização . Você pode achar necessário se afastar completamente dos padrões. Às vezes, são usadas durações baixas de concessão de DHCP (em horas) para sub-redes sem fio. No entanto, esteja atento ao desempenho de seus servidores, especialmente se você tiver um servidor DNS configurado para varrer a cada poucas horas em grandes zonas DNS.
Identificar registros com IPs duplicados
Esta seção apresenta como usar o PowerShell para identificar os registros duplicados. O script visa encontrar registros no DNS que contenham endereços IP duplicados.
#Import the Active Directory Module
import-module activedirectory
#Define an empty array to store computers with duplicate IP address registrations in DNS
$duplicate_comp = @()
#Get all computers in the current Active Directory domain along with the IPv4 address
#The IPv4 address is not a property on the computer account so a DNS lookup is performed
#The list of computers is sorted based on IPv4 address and assigned to the variable $comp
$comp = get-adcomputer -filter * -properties ipv4address | sort-object -property ipv4address
#For each computer object returned, assign just a sorted list of all
#of the IPv4 addresses for each computer to $sorted_ipv4
$sorted_ipv4 = $comp | foreach {$_.ipv4address} | sort-object
#For each computer object returned, assign just a sorted, unique list
#of all of the IPv4 addresses for each computer to $unique_ipv4
$unique_ipv4 = $comp | foreach {$_.ipv4address} | sort-object | get-unique
#compare $unique_ipv4 to $sorted_ipv4 and assign just the additional
#IPv4 addresses in $sorted_ipv4 to $duplicate_ipv4
$duplicate_ipv4 = Compare-object -referenceobject $unique_ipv4 -differenceobject $sorted_ipv4 | foreach {$_.inputobject}
#For each instance in $duplicate_ipv4 and for each instance
#in $comp, compare $duplicate_ipv4 to $comp If they are equal, assign
#the computer object to array $duplicate_comp
foreach ($duplicate_inst in $duplicate_ipv4)
{
foreach ($comp_inst in $comp)
{
if (!($duplicate_inst.compareto($comp_inst.ipv4address)))
{
$duplicate_comp = $duplicate_comp + $comp_inst
}
}
}
#Pipe all of the duplicate computers to a formatted table
$duplicate_comp | ft name,ipv4address -a
Aqui está um exemplo da saída:
Esse script do PowerShell é simples. Considere o script como um exemplo. Esse script retorna apenas endereços IP duplicados registrados em contas de computador reais no AD. Lembre-se de que o script consulta todos os computadores em um domínio do AD. Em seguida, ele faz uma consulta DNS para obter o endereço IP. Se você tiver muitos computadores, use a -searchbase
opção com get-adcomputer
para limitar o número de computadores retornados a cada vez. Se o computador não estiver ingressado no AD, o computador não será retornado do get-adcomputer
comando.