Compartilhar via


Comportamento de registro de DNS inesperado se o servidor DHCP usar "Sempre atualizar dinamicamente registros DNS"

Aplica-se a: Windows 11, Windows 10, Windows 8.1

Sintomas

Você tem uma infraestrutura que usa clientes DHCP (Protocolo de Configuração de Host Dinâmico) do Windows e servidores DHCP da Microsoft para atribuir e gerenciar endereços IP. No servidor DHCP, você seleciona Habilitar atualizações dinâmicas DNS de acordo com as configurações abaixo e Sempre atualizar dinamicamente registros DNS. Nesta configuração, você espera que o servidor DHCP gerencie atualizações DNS dinâmicas para registros A e registros PTR. No entanto, você observa que o cliente e o servidor criam registros DNS. Dependendo da configuração, esse comportamento tem os seguintes efeitos:

  • Se você configurar as zonas DNS para atualizações dinâmicas não seguras e não seguras , verá que o servidor DHCP cria registros e, em seguida, o cliente DHCP exclui e recria novamente os mesmos registros.
  • Se você configurar as zonas DNS para atualizações dinâmicas somente seguras , os registros DNS poderão se tornar inconsistentes. O servidor DHCP e o cliente DHCP criam registros. No entanto, o servidor DHCP não pode atualizar registros que o cliente DHCP cria e o cliente DHCP não pode atualizar registros que o servidor DHCP cria.

Motivo

Para obter um endereço IP, o cliente DHCP envia uma mensagem de Solicitação DHCP para o servidor DHCP. Normalmente, essa mensagem inclui o FQDN (nome de domínio totalmente qualificado) do cliente e sinalizadores que governam o comportamento dinâmico de atualização DNS. Essas informações são chamada coletivamente de Opção 81 (também conhecida como opção FQDN do cliente).

Observação

Alguns clientes DHCP mais antigos não usam a opção 81. Para fornecer atualizações dinâmicas para esses clientes, configure o servidor DHCP para habilitar os registros DNS de atualização dinâmica para clientes DHCP que não solicitam atualizações (por exemplo, clientes que executam Windows NT 4.0).

O servidor DHCP também armazena um conjunto de sinalizadores da opção 81 que regem o comportamento dinâmico de atualização DNS. Parte do processo DHCP DORA (Discover/Offer/Request/Acknowledge) envolve uma comparação entre o cliente e o servidor de seus valores dos sinalizadores da opção 81 para determinar quem é responsável pelas atualizações DNS. Os sinalizadores envolvidos no comportamento descrito na seção Sintomas são chamados de bits O (substituição) e S (servidor). A função sinalizadores da seguinte maneira:

  • Se S = 0, o cliente será responsável pela atualização de um registro.
  • Se S = 1, o servidor será responsável pela atualização de um registro.
  • Se o valor S que o cliente envia em sua solicitação for diferente do valor S do servidor, o servidor definirá seu valor de O como 1.

Conforme descrito no RFC, a resposta do servidor DHCP à mensagem de solicitação deve incluir seus valores de sinalizador. Se O estiver definido como 1 na mensagem do servidor, o cliente deverá entender que o servidor está substituindo o valor S do cliente.

Em Windows 8.1, uma alteração de design deliberada foi introduzida no comportamento dinâmico de atualização DNS do cliente DHCP. Essa alteração dá suporte ao desenvolvimento contínuo e aprimoramentos da pilha TCP/IP (Protocolo de Controle de Transmissão/Protocolo de Internet) em versões posteriores dos sistemas operacionais da Microsoft. Em versões Windows 8.1 e posteriores, o cliente DHCP não honra os valores opção 81 O e S do servidor DHCP. Se o cliente estiver configurado para atualizar um registro, ele continuará a fazer isso mesmo que o servidor também esteja configurado para atualizar um registro. Esse é o caso quando você seleciona Sempre atualizar dinamicamente registros DNS no DHCP console de gerenciamento.

Se você configurar suas zonas DNS apenas para atualizações dinâmicas seguras , somente a entidade (o cliente DHCP, o servidor DHCP ou uma conta que os serviços DHCP estão configurados para usar) que criaram um registro DNS podem atualizar ou excluir esse registro. Se o cliente DHCP e não o servidor DHCP criarem um registro DNS, o servidor DHCP não poderá modificar esse registro mais tarde.

Observação

O cliente DHCP da Microsoft não fornece um método para definir diretamente os valores de O e S do cliente na interface do usuário. Por padrão, ambos os valores são 0. Você pode exibir os valores gravando um rastreamento netsh de uma solicitação de cliente DHCP e usando uma ferramenta como o Netmon para exibir os resultados.

Você pode usar o cmdlet Windows PowerShell, Get-DhcpServerv4OptionValue, para exibir o valor da opção 81 do servidor DHCP. No entanto, o cmdlet relata esse valor como um único inteiro que combina várias configurações diferentes como valores de bit. Por exemplo, se você selecionar Sempre atualizar dinamicamente registros DNS na guia DNS de uma janela de propriedades de escopo DHCP, isso definirá o valor S como 1. Mas o cmdlet relata um dos oito valores possíveis para a opção 81. Todos eles usam o S=1. O valor específico depende da combinação de configurações feitas na guia DNS .

Para obter mais informações sobre como as atualizações dinâmicas funcionam entre o cliente DHCP, o servidor DHCP e o servidor DNS, consulte Processos e Interações DNS

Resolução

Se sua arquitetura exigir que você use registros DNS sempre atualizar dinamicamente, você pode criar uma chave de registro no computador cliente para forçar o cliente DHCP a honrar a substituição do servidor DHCP.

Importante

Esta seção, método ou tarefa contém etapas que descrevem como modificar o Registro. Entretanto, sérios problemas poderão ocorrer caso você modifique o Registro incorretamente. Portanto, siga essas etapas cuidadosamente. Para maior proteção, faça backup do Registro antes de modificar, para poder restaurar se ocorrer um problema. Para saber mais sobre como fazer o backup e restaurar o registro, consulte Como fazer o backup e restaurar o registro no Windows.

  1. Navegue até a seguinte subchave: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters

  2. Na subchave, crie a seguinte entrada:

    • Nome: RegistrationOverwrite
    • Tipo: REG_DWORD
    • Valor: 2

    Observação

    RegistrationOverwrite tem os seguintes valores possíveis:

    • 0 – Sem substituição.
    • 1 – Registra que o cliente DNS cria registros de substituição que o servidor DHCP cria. Esse é o valor padrão.
    • 2 – Registra que o servidor DHCP cria registros de substituição que o cliente DNS cria).
  3. Reinicie o computador cliente.

  4. No servidor DNS console de gerenciamento, marcar as zonas de pesquisa para frente e inversa. Dependendo do ambiente específico, talvez seja necessário excluir manualmente os registros A e PTR de que o servidor DHCP não tem permissão para excluir ou alterar.