Como os servidores preferidos e alternativos ou vários servidores DNS funcionam?

15

Eu estava pensando em adicionar 8.8.8.8 ao final da lista de servidores DNS do meu adaptador como um backup no caso de tudo falhar, quando ocorreu a mim que eu realmente não sei como secundário e servidores DNS terciários são tratados.

  • Em que condições o próximo servidor DNS é usado?
  • O próximo servidor será verificado se o nome não for resolvido?
  • Posso configurar minha máquina para consultar vários servidores se um nome não for resolvido?

Também estou preocupado que, ao adicionar um servidor DNS que não está na minha intranet, posso não conseguir resolver nomes locais.

  • Se o primeiro servidor DNS falhar, por quanto tempo o servidor DNS secundário será usado?
  • Quando minha máquina verifica se o servidor DNS primário está ativo, isso atrasa minha consulta DNS atual?
  • Como vários servidores DNS afetam o desempenho? Se eu tiver quatro servidores DNS na lista do meu adaptador e três deles estiverem mortos, ele aguardará três tempos limite antes de obter uma resposta?

Não sei se esta pergunta também é específica do SO. Diferentes sistemas operacionais tratam isso de maneira diferente?

Meu objetivo é acrescentar 8.8.8.8 aos servidores DNS, além do que o DHCP distribui com um script. Eu continuo correndo para problemas de DNS estúpidos onde minhas máquinas acabam com um falso / inacessível / simplesmente nenhum servidor DNS devido a erros na configuração do DHCP que eu não tenho controle. Estou ficando cansado disso, mas estou imaginando se adicionar esse fail safe causaria mais problemas do que soluciona.

    
por Tanner Faulkner 17.08.2012 / 18:14

1 resposta

14

A resposta é certamente específica do sistema operacional no sentido de que nada está impedindo que um determinado sistema operacional se comporte de maneira diferente. Não há nada necessário sobre a consulta do cliente DNS de vários servidores que impediria uma implementação do sistema operacional de tratar as consultas DNS de maneira diferente do que estou descrevendo aqui.

Dito isso, o exemplo de como o Linux pesquisa os nomes DNS deve ser representativo de como a maioria dos sistemas operacionais em uso hoje em dia o faz.

Aqui é um bom post descrevendo o comportamento em detalhe, bem como uma maneira de configurar algo parecido com o que você pediu.

A ideia geral é que, por padrão, os servidores DNS secundários / terciários são usados apenas em seqüência se o servidor DNS primário atingir o tempo limite ou apontar para um endereço IP não roteável. Mesmo que o servidor DNS primário diga "esse domínio não resolve", ele não passará para perguntar ao próximo servidor de nomes. Ele trata qualquer resposta válida para a consulta como uma razão não para passar para o próximo servidor DNS na lista.

Uma possível maneira sã de configurá-lo para que os endereços locais sejam resolvidos primeiro, mas ainda usar o DNS ou OpenDNS do Google em vez do servidor DNS do seu provedor, é configurar seu roteador ou caixa LAN (qualquer que seja o gateway da Internet) use 8.8.8.8 como seu principal servidor de nomes. É claro que a própria caixa de gateway deve estar executando um servidor de nomes, e deve ser configurada para responder a consultas DNS para nomes de host locais na sub-rede privada - mas se falhar em resolver a sub-rede local, imediatamente para o DNS do Google. Este é o melhor dos dois mundos.

Outra maneira de fazer isso é configurar diferentes servidores de nomes para diferentes interfaces de rede. O Windows permite que você faça isso por padrão; o artigo no link acima descreve uma maneira de fazer isso configurando a implementação do servidor DNS BIND9 usando as diretivas forward e forwarders .

    
por 17.08.2012 / 20:42