Como funcionam os servidores DNS preferenciais e alternativos ou múltiplos?

21

Eu estava pensando em adicionar 8.8.8.8 ao final da lista de servidores DNS do meu adaptador como um backup, caso tudo falhasse, quando me ocorreu que eu realmente não sabia como os servidores DNS secundários e terciários são tratados.

  • Sob quais 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 esteja na minha intranet, talvez eu não consiga 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, ele interrompe minha consulta DNS atual?
  • Como vários servidores DNS afetam o desempenho? Se eu tiver quatro servidores DNS na lista de adaptadores e três deles estiverem mortos, ele aguardará três tempos limite antes de obter uma resposta?

Não tenho certeza se esta pergunta também é específica do sistema operacional. Sistemas operacionais diferentes tratam isso de maneira diferente?

Meu objetivo é anexar 8.8.8.8 aos servidores DNS além do que o DHCP distribui com um script. Continuo correndo para problemas estúpidos de DNS em que minhas máquinas acabam com um servidor DNS falso / inacessível / simplesmente sem DNS devido a erros na configuração do DHCP sobre os quais não tenho controle. Estou ficando cansado disso, mas estou imaginando se a adição desse fail safe causaria mais problemas do que resolve.

Tanner Faulkner
fonte
1
Esta pergunta está relacionada: superuser.com/q/558843/146694 A adição de um endereço DNS externo a uma rede que precisa de resolução interna de nomes causa muitos problemas .
Tanner Faulkner

Respostas:

16

A resposta certamente é específica do sistema operacional, no sentido de que nada impede que um determinado sistema operacional se comporte de maneira diferente. Não há nada necessário na consulta do cliente DNS de vários servidores que impediria uma implementação de sistema operacional de tratar as consultas DNS de maneira diferente da descrita aqui.

Dito isto, o exemplo de como o Linux consulta os nomes DNS deve ser representativo de como a maioria dos sistemas operacionais em uso comum hoje o faz.

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

A idéia geral é que, por padrão, os servidores DNS secundários / terciários sejam usados ​​apenas em sequê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 "que o domínio não resolve", ele não será perguntado ao próximo servidor de nomes. Ele trata qualquer resposta válida à consulta como um motivo para não passar para o próximo servidor DNS na lista.

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

Outra maneira de fazer isso é configurar servidores de nomes diferentes para diferentes interfaces de rede. O Windows permite fazer 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 forwarde forwarders.

allquixotic
fonte