segundo nameserver em /etc/resolv.conf não selecionado pelo wget

10

Meu resolv.conf é assim:

; generated by /sbin/dhclient-script
search mcdc
nameserver 10.0.4.48
nameserver 8.8.8.8

se eu faço nslookup www.google.com funciona

nslookup www.google.com
;; Got SERVFAIL reply from 10.0.4.48, trying next server
Server:     8.8.8.8
Address:    8.8.8.8#53

Non-authoritative answer:
www.google.com  canonical name = www.l.google.com.

mas quando enrolo www.google.com, não consigo resolver o host.

Eu tentei executar o curl sob strace e encontrei o curl usando apenas o primeiro nameserver no resolv.conf, não o segundo. Se eu alternar as duas linhas do servidor de nomes, www.google.com resolve, mas os nomes DNS internos não, por isso não é uma boa solução alternativa.

Como posso corrigir o resolv.conf para usar os dois servidores de nomes?

    
por benhsu 14.06.2012 / 18:39

4 respostas

22

O comportamento padrão do resolv.conf e do resolvedor é tentar os servidores na ordem listada. O resolvedor tentará apenas o próximo servidor de nomes se o primeiro servidor de nomes expirar. A página de manual do resolv.conf diz:

nameserver Name server IP address

Internet address (in dot notation) of a name server that the resolver should query. Up to MAXNS (currently 3, see ) name servers may be listed, one per keyword. If there are multiple servers, the resolver library queries them in the order listed.

E:

(The algorithm used is to try a name server, and if the query times out, try the next, until out of name servers, then repeat trying all the name servers until a maximum number of retries are made.)

Veja 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 Nameservers em uma ordem round-robin:

rotate sets RES_ROTATE in _res.options, which causes round robin selection of nameservers from among those listed. This has the effect of spreading the query load among all listed servers, rather than having all clients try the first listed server first every time.

No entanto, o nslookup usará o segundo servidor de nomes se receber um SERVFAIL do primeiro servidor de nomes. A partir da página mans do nslookup :

[no]fail Try the next nameserver if a nameserver responds with SERVFAIL or a referral (nofail) or terminate query (fail) on such a response.

(Default = nofail)

    
por 14.06.2012 / 19:29
2

sim, você pode usar a configuração "girar" e o tempo limite para melhorar as pesquisas de DNS, abaixo está o exemplo,

Ex:

[root@centos-xxxxxx ~]# cat /etc/resolv.conf
options rotate
options timeout:1
search xyz.abc.local
nameserver 192.168.56.3
nameserver 10.0.2.4
    
por 14.02.2017 / 10:24
1

10.0.4.48 é um servidor de DNS recursivo também conhecido como resolver?

Ou é apenas um servidor autoritativo para suas zonas internas?

Você deve configurar um resolvedor interno que também possa conter seus dados oficiais.

    
por 14.06.2012 / 18:52
-3

Se você puder, eu configuraria dessa maneira.

%pr_e%

    
por 14.06.2012 / 18:48