Por que o host e o nslookup podem resolver um nome, mas a digitação não pode?

18

Alguém pode me dizer por que isso está acontecendo? Eu posso resolver um hostname usando host e / ou nslookup, mas pesquisas diretas não funcionam com dig; pesquisas reversas fazem:

musashixxx@box:~$ host someserver
someserver.somenet.internal has address 192.168.0.252
musashixxx@box:~$ host 192.168.0.252
252.0.168.192.in-addr.arpa domain name pointer someserver.somenet.internal.
musashixxx@box:~$ nslookup someserver
Server:     192.168.0.253
Address:    192.168.0.253#53

Name:   someserver.somenet.internal
Address: 192.168.0.252
musashixxx@box:~$ nslookup 192.168.0.252
Server:     192.168.0.253
Address:    192.168.0.253#53

252.0.168.192.in-addr.arpa  name = someserver.somenet.internal.

musashixxx@box:~$ dig someserver

; <<>> DiG 9.8.1-P1 <<>> someserver
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 55306
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;someserver.            IN  A

;; Query time: 0 msec
;; SERVER: 192.168.0.253#53(192.168.0.253)
;; WHEN: Wed Oct  3 15:47:38 2012
;; MSG SIZE  rcvd: 27

musashixxx@box:~$ dig -x 192.168.0.252

; <<>> DiG 9.8.1-P1 <<>> -x 192.168.0.252
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28126
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;252.0.168.192.in-addr.arpa.    IN  PTR

;; ANSWER SECTION:
252.0.168.192.in-addr.arpa. 3600 IN PTR someserver.somenet.internal.

;; Query time: 0 msec
;; SERVER: 192.168.0.253#53(192.168.0.253)
;; WHEN: Wed Oct  3 15:49:11 2012
;; MSG SIZE  rcvd: 86

Veja como meu resolv.conf se parece:

nameserver 192.168.0.253
search somenet.internal

Esse comportamento é normal? Alguma idéia?

    
por musashiXXX 03.10.2012 / 21:54

4 respostas

29

É o comportamento padrão de não usar a opção de pesquisa.

Na página de manual:

   +[no]search
       Use [do not use] the search list defined by the searchlist or
       domain directive in resolv.conf (if any). The search list is not
       used by default.

Editar: basta adicionar +search para que funcione, como dig +search myhost .

    
por 03.10.2012 / 22:01
6

Eu estava tendo o mesmo problema. Depois de inspecionar os pacotes enviados do nslookup e cavar com o wireshark, encontrei o problema.

dig estava configurando o bit de dados autêntico na consulta. De acordo com a página do manual, "Isso solicita que o servidor retorne se todas as seções de resposta e autoridade foram validadas como seguras de acordo com a política de segurança do servidor". Ao executar o dig com + noadflag, ele retornou os mesmos resultados do nslookup.

    
por 17.05.2013 / 17:30
3

No meu caso, é um erro no servidor DNS da Microsoft, onde ele retorna FORMERR response (solicitação de erro de formato) para solicitações com EDNS Cookie conjunto de opções. Versões mais recentes de dig (9,11 e acima) usam cookies dns por padrão. Isso pode ser impedido pelo sinal +nocookie ou +noedns de digerir:

$ dig +nocookie DOMAIN @SERVER

Fonte: link

    
por 05.03.2018 / 10:30
0

Eu experimentei esse problema em minha rede wi-fi doméstica tentando resolver o problema de google.com de dentro de uma VM Ubuntu em execução em um host do Windows 7, com dig , que expirou, mas nslookup retornou instantaneamente o resultado.

A solução para mim foi adicionar +noedns : $ dig +noedns google.com .

    
por 02.08.2018 / 01:35