Eu estava usando este comando para verificar se configuraria as coisas corretamente com um provedor DNS:
host hostname.example.com ns1.example-nameserver.com
Tanto quanto posso dizer, isso pede ns1.example-nameserver.com
para procurar hostname.example.com
e relata a resposta. Eu estava recebendo uma resposta de host não encontrada, então pensei que tinha feito errado. No entanto, sem especificar o nome do servidor (permitindo assim o nome do servidor do meu ISP para procurá-lo) eu tenho a resposta correta ( hostname
se um CNAME
se importa). Não consegui entender isso, então procurei e encontrei o dig
comando:
dig @ns1.example-nameserver.com hostname.example.com
Tanto quanto posso dizer, isso faz o mesmo que o host
comando - pede a um servidor de nomes específico para procurar um host. Portanto, concluo que eles devem fazê-lo de maneira diferente e que os servidores de nomes em cache devem usar o mesmo método que dig
.
Minha conclusão é certa ou errada, se estiver certa:
Qual é a diferença entre esses dois métodos de pesquisa?
Se estiver errado:
Quais são os meus mal-entendidos sobre o DNS e os comandos host
e dig
que me levaram a essa conclusão?
Exemplo de saída:
$ host cardiff.tzmchapters.org ns1.livedns.co.uk
Using domain server:
Name: ns1.livedns.co.uk
Address: 213.171.192.250#53
Aliases:
Host cardiff.tzmchapters.org not found: 3(NXDOMAIN)
$ dig @ns1.livedns.co.uk cardiff.tzmchapters.org
; <<>> DiG 9.8.3-P1 <<>> @ns1.livedns.co.uk cardiff.tzmchapters.org
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 23620
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0
;; WARNING: recursion requested but not available
;; QUESTION SECTION:
;cardiff.tzmchapters.org. IN A
;; ANSWER SECTION:
cardiff.tzmchapters.org. 3600 IN CNAME ghs.google.com.
;; AUTHORITY SECTION:
google.com. 3600 IN SOA ns1.livedns.co.uk. admin.google.com. 1354213742 10800 3600 604800 3600
;; Query time: 27 msec
;; SERVER: 213.171.192.250#53(213.171.192.250)
;; WHEN: Mon Apr 22 23:47:05 2013
;; MSG SIZE rcvd: 128
dig
e host
relate NXDOMAIN
. Com dig
você pode vê-lo no cabeçalho (5ª linha não em branco da saída) e com host
isso é mais óbvio. NXDOMAIN
significa que o domínio não existe. No entanto, a CNAME
é retornado na seção de respostas! Eu acredito que é um bug no servidor DNS!
dig
e host
tanto enviar exatamente o mesmo pacote de consulta, obter o mesmo pacote de resposta exata (além de quaisquer marcas de tempo), mas interpretá-lo de forma diferente? Será que host
sai assim que vê NXDOMAIN
?