O Misterioso Caso dos Registros DNS Apagados

O que aconteceu? Cadê os registros DNS que estavam aqui???…. Talvez, você já tenha passado por isso.

Neste post apresentamos um cenário de configuração dos parâmetros Aging e Scavenge do DNS associados à indisponibilidade de links para replicação de sites remotos. Esta pode ser uma das causas do desaparecimento de registros DNS, sem que haja uma explicação aparente.

Os tópicos I, II e III apresentam informações gerais sobre a configuração e processamento das atualizações dos registros DNS.

No tópico IV e V, o mistério do desaparecimento dos registros é desvendado.

Parte I – Configuração da Zona DNS – Aging e Scavenge

O servidor DNS Windows Server e as zonas DNS podem ser configurados para eliminar os registros desatualizados de forma automática e/ou manual. Durante o processo de scavenge, os registros obsoletos registrados dinamicamente são pesquisados na base do DNS e apagados. O processo de replicação entre os servidores assegura que a zona DNS mantenha a informação mais atualizada a cerca dos serviços.

Para que uma zona DNS seja atualizada pelo processo de scavenge é preciso configurar a zona com a opção “scavenge stale resource records” .

Os parâmetros de configuração da Zona DNS são:

  • No-refresh interval: valor default – 7 dias

Período de tempo em que o registro dinâmico permanece na base sem renovar o timestamp do registro. Visa a redução do tráfego de replicação pela renovação do timestamp dos registros. Qualquer outra atualização é permitida, por exemplo, atualização de um endereço IP e é replicada para os demais servidores que hospedam a zona DNS.

  • Refresh interval: valor default – 7 dias

Período de tempo em que o timestamp dos registros pode ser atualizado. Assim que o cliente atualiza o timestamp, o período de no-refresh inicia novamente e o registro é replicado para os demais servidores que hospedam a zona DNS. Se o cliente não atualizar o registro durante o refresh interval, o registro é considerado obsoleto e elegível a ser apagado pelo processo de scavenge.

image 

Parte II – Configuração do Servidor DNS

O processo de scavenge em uma zona DNS para eliminação dos registros pode ser realizado pelo servidor DNS de forma manual ou automática.

Importante: Se a zona não estiver configurada com a opção “scavenge stale resource records” nenhum registro será apagado pelo processo de scavenge.

Para configurar o scavenge automático marque a opção “Enable automatic scavenging of stale records” nas propriedades avançadas do servidor DNS.

image

Parte III – Atualização dos registros DNS

Os registros DNS dinâmicos criados em D1 durante o intervalo de non-refesh (default 7 dias) não atualizam o timestamp. Após esse intervalo, inicia o período de refresh interval (default 7 dias), no qual o registro poderá atualizar automaticamente o timestamp. Caso o timestamp não seja atualizado ao final do intervalo de refresh, o registro é considerado obsoleto, e é candidato a ser apagado quando o processo de scavenge for executado dentro do periodo de scavenging.

image

Parte IV – Cenário do Desaparecimento dos Registros DNS

Na reconstrução do caso encontramos o seguinte cenário:

  • domínio: contoso.com
  • 3 DCs/DNS – S01, S02 e S03
  • 2 sites – DefaulSite e RemoteSite

O servidor registrou automaticamente no DNS (S01) ip 192.168.10.50 com timestamp D1. Através do mecanismo de replicação do AD, o registro foi atualizado (ou adicionado) a base do AD dos servidores DNS (S02 e S03). Durante o non-refresh interval o timestamp do registro não será atualizado.

image

Após o non-refresh interval, o servidor pode atualizar o timestamp. Porém o link com o site remoto não está disponível. Por exemplo, o servidor atualiza o registro com timestamp D9. Através do mecanismo de replicação do AD, o timestamp do registro foi atualizado a base do AD dos servidores DNS (S01 e S02), exceto nos servidores que estão em sites remotos sem link (S03).

image

Quando o processo de scavenge rodar no servidor do site remoto (S03), o registro será considerado obsoleto e apagado (tombstoned = true). Se este processo rodar, por exemplo, em D10, o registro será atualizado com timestamp D10. No servidor S03 timestamp do registro (D10) será mais recente que nos demais servidores (D9). Se o link for reestabelecido antes que o servidor entre no periodo de refresh, o timestamp do servidor no site remoto (S03) prevalece e o registro será apagado (tombstoned) nos demais servidores (S01 e S02) pelo mecanismo de replicação do AD.

image

Parte V – Configuração do DNS Scavenge para lidar com falhas de replicação

Para lidar com este cenário, a zona DNS precisa ser configurada para que o processo de scavenge rode em um ou dois servidores que estejam bem conectados à rede. É preciso evitar que o processo seja executado em sites remotos suscetíveis a indisponibilidade de links por períodos prolongados.

O utilitário DNSCMD permite que seja feito um ajuste na configuração da zona DNS e os servidores que serão candidatos a remover os registro obsoletos quando o processo de scavenge (manual ou automático) for executado.

https://technet.microsoft.com/en-us/library/cc756116(WS.10).aspx#BKMK_33

Dnscmd zoneresetscavengeservers

Changes the IP address(es) of the server(s) that can scavenge the specified zone.

Syntax

dnscmd [ServerName] /zoneresetscavengeservers ZoneName [ServerIPs]

Parameters

ServerName – Specifies the DNS server the administrator is planning to manage, represented by local computer syntax, IP address, FQDN, or Host name. If omitted, the local server is used.

ZoneName – Identifies the zone to scavenge.

ServerIPs – Lists the IP address(es) of the server(s) that can perform the scavenge. If this parameter is omitted, then all servers hosting this zone can scavenge it.

Remarks

    • By default, all servers hosting a zone can scavenge that zone.
    • If a zone is hosted on more than one DNS server, this operation can be used to reduce the number of times a zone is scavenged.
    • Scavenging must be enabled on the DNS server and zone affected by this operation.

Sample Usage

dnscmd s01 /zoneresetscavengeservers contoso.com 192.168.10.1

Importante

A configuração dos servidores de scavenge para uma zona DNS deve ser feita em um servidor e replicada para os demais.

Com o utilitário DNSCMD podemos verificar a configuração da zona em cada servidor.

Syntax

dnscmd [ServerName] /zoneinfo ZoneName

Referências

How DNS works

https://technet.microsoft.com/en-us/library/cc772774(WS.10).aspx

Don't be afraid of DNS Scavenging. Just be patient.

https://blogs.technet.com/networking/archive/2008/03/19/don-t-be-afraid-of-dns-scavenging-just-be-patient.aspx

 

[ ]s e um ótimo feriado!!!

Ana Paula M Franco