Por que a adição de servidores DNS públicos e privados no Windows causa um comportamento inesperado?

3

Eu tenho dois servidores DNS configurados em configurações de rede no Windows:

Preferred DNS server: My DNS server

Alternate DNS server: Public DNS provided by ISP

Enquanto estou abrindo um site de intranet, que deve resolver usando meu servidor DNS privado, meu navegador abre um site público da Internet. Quando eu removo o servidor DNS alternativo, o DNS público, ele abre o site da intranet.

Pelo que entendi, uma vez que o DNS privado resolve o IP, ele não deve resolver o DNS público. Quando eu verifico no prompt de comando, ele resolve apenas para intranet, mas no navegador não é o mesmo.

Por que isso está acontecendo e como posso corrigi-lo?

    
por KumarJohn 28.02.2013 / 16:15

2 respostas

6

1) Não funciona assim.

Eu aprendi uma lição difícil que o Windows não usa essa lista de servidores DNS em ordem. Você não pode assumir que irá simplesmente percorrer a lista quando não conseguir resolver um nome.

Há uma explicação bastante longa sobre o TechNet, que você pode encontrar aqui aqui . O problema que eu pessoalmente experimentei foi causado por este pequeno trecho aqui:

The DNS Client service keeps track of which servers answer name queries more quickly, and it moves servers up or down on the list based on how quickly they reply to name queries.

Tivemos cinco servidores DNS listados em nossas configurações de DHCP, os dois últimos foram os ISPs locais. Nossos outros três eram máquinas muito antigas, e achamos que seria melhor adicionar os servidores locais do ISP como backup. Adivinha quem foi mais rápido?

Não é divertido quando os servidores param de resolver nomes internos.

Isso me levou a ameaçar uma mudança para o Linux.

2) Então, por que funcionou no prompt de comando?

Suponho que você usou nslookup , que sempre usa o primeiro servidor da sua lista de DNS, a menos que você especifique o contrário. Desde que você estava sempre verificando seu servidor DNS privado, sempre funcionou. Depois de abrir o Internet Explorer e começar a tentar realmente resolver nomes, o comportamento é diferente (conforme especificado pelo longo fluxograma acima).

Não é maravilhosamente confuso? Eu persegui problemas de resolução de nomes por uma semana me perguntando por que sempre funcionava usando nslookup ainda por algum motivo o Lotus Notes nunca poderia encontrar seu servidor de e-mail. Eu não descobri isso até usar o Wireshark para verificar como isso realmente estava resolvendo os nomes.

3) Como posso corrigir isso?

Você pode corrigir seu problema específico configurando seu servidor DNS com um encaminhador. Quando seu servidor DNS privado não puder encontrar um nome, ele encaminhará a solicitação para o servidor que você especificar. Dessa forma, você pode simplesmente usar seu servidor DNS e nada mais, evitando o comportamento estranho que está aparecendo.

    
por 28.02.2013 / 16:38
2

Em vez de configurar dois servidores DNS, o que você gostaria de fazer é usar apenas o seu DNS privado e, em seguida, ter esses resultados de verificação do servidor DNS que ele não conhece com o DNS externo. A maneira exata de configurar isso dependerá do seu servidor DNS privado, mas isso deve fornecer resultados mais uniformes, já que seu servidor DNS alternativo pode ser usado quando ele acha que o primário está ocupado.

    
por 28.02.2013 / 16:20

Tags