Estaba usando este comando para verificar si había configurado correctamente las cosas con un proveedor de DNS:
host hostname.example.com ns1.example-nameserver.com
Por lo que puedo decir, esto pide ns1.example-nameserver.commirar hacia arriba hostname.example.come informa la respuesta. Estaba recibiendo una respuesta de host no encontrado, así que pensé que lo había hecho mal. Sin embargo, sin especificar su servidor de nombres (permitiendo así que el servidor de nombres de mi ISP lo busque) obtuve la respuesta correcta ( hostnamees un CNAMEsi es importante). No pude entender esto, así que busqué y encontré el digcomando:
dig @ns1.example-nameserver.com hostname.example.com
Por lo que puedo decir, esto hace lo mismo que el hostcomando: pide a un servidor de nombres específico que busque un host. Por lo tanto, concluyo que deben hacerlo de alguna manera diferente, y que los servidores de nombres de almacenamiento en caché deben usar el mismo método que dig.
Mi conclusión es correcta o incorrecta, si es correcta:
¿Cuál es la diferencia entre estos dos métodos de búsqueda?
Si está mal:
¿Cuáles son mis malentendidos sobre DNS y los comandos hosty digque me han llevado a esta conclusión?
Salida de ejemplo:
$ 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
fuente

digehostinformeNXDOMAIN. Condigusted puede verlo en el encabezado (quinta línea no en blanco de la salida) y conhostesto es más obvio.NXDOMAINsignifica que el dominio no existe. Sin embargo, aCNAMEse devuelve en la sección de respuestas. ¡Creo que es un error en el servidor DNS!digyhostambos envían exactamente el mismo paquete de consulta, obtienen exactamente el mismo paquete de respuesta (aparte de las marcas de tiempo), pero lo interpretan de manera diferente? ¿Sehostrescata tan pronto como veNXDOMAIN?Respuestas:
host,digynslookuptodos comparten la mayor parte de la misma funcionalidad. En el caso de que esté preguntando (hacer una pregunta de DNS en particular a un servidor de nombres en particular)digyhost(y de hechonslookup) se comporten exactamente igual.Para la resolución de problemas de DNS,
digse prefiere porque su formato de salida es más "en bruto": en su salida muestra directamente el contenido de los 4 campos en la respuesta de DNS: pregunta, respuesta, autoridad y secciones adicionales (además de las banderas en el encabezado) , y también tiene más opciones.host, por otro lado, tiene un formato de salida más fácil de usar.Si no necesita una opción que uno de los comandos tiene y los otros no, o una información que uno de ellos emite y los otros no, entonces se trata de una cuestión de preferencia.
fuente
hostpero la respuesta correcta al usardig? Incluso si el servidor está configurado con una configuración particular (ya sea por elección o por accidente) para causar esto, debe poder diferenciar las solicitudes.digle dio una respuesta real y no un registro en la sección adicional o de autoridad? Como sugiere Renan , podría ayudar mostrar el resultado.hostfunciona bien. Pruébelo usted mismo y hágame saber los resultados.digconsultas de una manera diferente, como lo haría un servidor de nombres?Si está utilizando el nombre de host que no es FQDN, los resultados pueden ser diferentes porque
hostutilizará los dominios de búsquedaresolv.conf, mientrasdigque no lo hará de manera predeterminada.Debe usar la
+searchopción si deseadigusarlaresolv.conf(o agregarla a~/.digrc).Por ejemplo:
fuente