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.com
mirar hacia arriba hostname.example.com
e 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 ( hostname
es un CNAME
si es importante). No pude entender esto, así que busqué y encontré el dig
comando:
dig @ns1.example-nameserver.com hostname.example.com
Por lo que puedo decir, esto hace lo mismo que el host
comando: 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 host
y dig
que 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
dig
ehost
informeNXDOMAIN
. Condig
usted puede verlo en el encabezado (quinta línea no en blanco de la salida) y conhost
esto es más obvio.NXDOMAIN
significa que el dominio no existe. Sin embargo, aCNAME
se devuelve en la sección de respuestas. ¡Creo que es un error en el servidor DNS!dig
yhost
ambos 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? ¿Sehost
rescata tan pronto como veNXDOMAIN
?Respuestas:
host
,dig
ynslookup
todos 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)dig
yhost
(y de hechonslookup
) se comporten exactamente igual.Para la resolución de problemas de DNS,
dig
se 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
host
pero 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.dig
le 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.host
funciona bien. Pruébelo usted mismo y hágame saber los resultados.dig
consultas 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
host
utilizará los dominios de búsquedaresolv.conf
, mientrasdig
que no lo hará de manera predeterminada.Debe usar la
+search
opción si deseadig
usarlaresolv.conf
(o agregarla a~/.digrc
).Por ejemplo:
fuente