O comportamento padrão do resolv.conf e do resolvedor é tentar os servidores na ordem listada. O resolvedor só tentará o próximo servidor de nomes se o primeiro servidor de tempo limite expirar. A página de manual resolv.conf diz:
servidor de nomes Endereço IP do servidor de nomes
Endereço da Internet (em notação de ponto) de um servidor de nomes que o resolvedor deve consultar. Até MAXNS (atualmente 3, consulte) servidores de nomes podem estar listados, um por palavra-chave. Se houver vários servidores, a biblioteca do resolvedor os consultará na ordem listada.
E:
(O algoritmo usado é tentar um servidor de nomes e, se a consulta atingir o tempo limite, tente o próximo, até os servidores sem nome, e repita a tentativa de todos os servidores de nome até que seja feito um número máximo de tentativas).
Consulte também a página de manual do resolvedor (5) para obter mais informações.
Você pode alterar o comportamento do resolvedor usando rotate
, que consultará os servidores de nomes em uma ordem round-robin:
rotate define RES_ROTATE em _res.options, o que causa a seleção round robin de servidores de nomes dentre os listados. Isso tem o efeito de espalhar a carga de consulta entre todos os servidores listados, em vez de fazer com que todos os clientes experimentem o primeiro servidor listado primeiro todas as vezes.
No entanto, o nslookup usará o segundo servidor de nomes se receber um SERVFAIL
do primeiro servidor de nomes. Na página de manual do nslookup :
[no] falhar Tente o próximo servidor de nomes se um servidor de nomes responder com SERVFAIL ou uma referência (nofail) ou encerrar a consulta (falha) em tal resposta.
(Padrão = nofail)