Por que adicionar servidores DNS públicos e privados no Windows causa um comportamento inesperado?

Por que adicionar servidores DNS públicos e privados no Windows causa um comportamento inesperado?

Tenho dois servidores DNS configurados nas configurações de rede do Windows:

  • Preferred DNS server:Meu servidor DNS
  • Alternate DNS server:DNS público fornecido pelo ISP

Enquanto abro um site da intranet, que deve ser resolvido usando meu servidor DNS privado, meu navegador abre um site público da Internet. Quando 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 tentar resolver com o DNS público. Quando faço check-in no prompt de comando, ele resolve apenas para intranet, mas no navegador não é a mesma coisa.

Por que isso está acontecendo e como posso consertar?

Responder1

1) Não funciona assim.

Aprendi uma lição difícil que o Windows faznãouse esta lista de servidores DNS em ordem. Vocênão podesuponha que ele simplesmente percorrerá a lista quando não conseguir resolver um nome.

Há uma explicação bastante extensa no TechNet, que você pode encontraraqui. O problema que experimentei pessoalmente foi causado por este pequeno trecho aqui:

O serviço Cliente DNS monitora quais servidores respondem às consultas de nomes mais rapidamente e move os servidores para cima ou para baixo na lista com base na rapidez com que respondem às consultas de nomes.

Tínhamos cinco servidores DNS listados em nossas configurações de DHCP, os dois últimos eram os ISPs locais. Nossas outras três eram máquinas muito antigas e achamos que seria melhor adicionar os servidores do ISP local 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 ummude para Linux.

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

Presumo que você usou nslookup, o que irásempreuse o primeiro servidor da sua lista DNS, a menos que você especifique o contrário. Como você estava sempre verificando seu servidor DNS privado, sempre funcionou. Depois que você abre o Internet Explorer e começa a tentar resolver nomes, o comportamento é diferente (conforme especificado pelo longo fluxograma acima).

Isso não é maravilhosamente confuso? Eu persegui problemas de resolução de nomes por uma semana me perguntando por que ele sempre funcionava usando o nslookupLotus Notes, mas por algum motivo nunca conseguia encontrar seu servidor de e-mail. Eu não descobri até usar o Wireshark para verificar como ele realmente estava resolvendo nomes.

3) Como posso consertar isso?

Você pode corrigir seu problema específico configurando seu servidor DNS com um encaminhador. Quando o seu servidor DNS privado não consegue 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 aparece.

Responder2

Em vez de configurar dois servidores DNS, o que você gostaria de fazer é usar apenas seu DNS privado e, em seguida, fazer com que o servidor DNS verifique os resultados 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, pois seu servidor DNS alternativo pode ser usado quando achar que o primário está ocupado.

informação relacionada