Pregunta ¿Cómo puedo ver Time-to-Live (TTL) para un registro DNS?


Me gustaría ver el valor de Time-to-Live (TTL) para un registro CNAME.

Tengo acceso a cavar (en Apple Mac OS X), que me da una respuesta como esta:

% dig host.example.gov
<*SNIP*>
;; ANSWER SECTION:
host.example.gov.       43200   IN  CNAME   host1.example.gov.
host1.example.gov.      43200   IN  A       192.168.16.10

¿Es el valor '43200' el TTL para este registro DNS?


105
2017-09-09 18:21


origen




Respuestas:


Sí, el número allí es el número de segundos que faltan hasta que el registro caduque (siempre que no estemos consultando el servidor de nombres autorizado). Obviamente, con un CNAME hay un nivel de redirección, por lo que el TTL para el registro A al que apunta en este caso también puede ser importante.

Si espera un par de segundos y ejecuta de nuevo la excavación en su servidor de nombres local, debería ver que el número de TTL disminuye en la cantidad de segundos que esperó (aproximadamente). Cuando llegue a 0, se actualizará o si su servidor de nombres actualiza la zona por algún motivo.

Como se mencionó anteriormente, existe una diferencia entre la ejecución de excavación contra un servidor de nombres con una entrada en caché y el servidor de nombres que tiene autoridad para esa entrada.

(en los ejemplos que uso a continuación uso la +noauthority  +noquestion Y +nostats banderas sólo para mantener la salida concisa).

Note la diferencia entre las siguientes consultas:

$ dig +noauthority +noquestion +nostats stackoverflow.com @ns2.p19.dynect.net.

; <<>> DiG 9.7.0-P1 <<>> +noauthority +noquestion +nostats stackoverflow.com @ns2.p19.dynect.net.
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50066
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; ANSWER SECTION:
stackoverflow.com.  432000  IN  A   69.59.196.211

Por lo tanto, en la consulta anterior, estamos consultando un servidor de nombres autorizado para stackoverflow.com. Si nota la flags sección, preste especial atención a la Automóvil club británico bandera que denota esto es una respuesta autorizada (es decir, no en caché).

$ dig +noauthority +noquestion +noadditional +nostats stackoverflow.com 

; <<>> DiG 9.7.0-P1 <<>> +noauthority +noquestion +noadditional +nostats stackoverflow.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43514
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 4

;; ANSWER SECTION:
stackoverflow.com.  246696  IN  A   69.59.196.211

En la consulta anterior, no tenemos un Automóvil club británico bandera, y el TTL seguirá disminuyendo a medida que hacemos consultas y consultas. Este es esencialmente el contador del que estaba hablando anteriormente.


127
2017-09-09 18:28



Excelente respuesta! ¡Gracias! :) - Paul Calabro


Si te quedas atascado en un cuadro de Windows y solo tienes acceso a nslookup:

nslookup -qa=A -debug host.example.com authoritiative-dns-host-here.com

43
2018-01-23 22:41





Is the value '43200' the TTL for this DNS record?

Sí, según lo informado por el servidor que respondió a su consulta (si está solicitando un servidor de almacenamiento en caché, devolverá el tiempo restante en su caché).

Para ver el TTL establecido en el registro real, consulte el servidor de nombres autorizado (dig @some.dns.server host.example.gov - Los servidores DNS autorizados se enumerarán en la sección Autoridad de la salida de excavación)

Verificación rápida para ver si está preguntando al autoritario NS: si ejecuta dig una vez más y los cambios de TTL probablemente estás golpeando un caché. Si sigue siendo el mismo, probablemente esté preguntando al servidor autorizado (o uno que haya roto el almacenamiento en caché).


14
2017-09-09 18:32



si ttl no cambia, podría ser uno que se considere autoritario: el propietario del dominio puede haber cambiado el servidor DNS sin apagar el anterior ... tuvo ese problema el mes pasado. - Jasen
@Jasen Sí, eso es definitivamente posible (también indica algo importante: ¡el administrador del DNS comprará bebidas en la próxima salida de la compañía para arruinar la migración!) - voretaq7


No pude ver los servidores autorizados en la salida de excavación predeterminada, pero lo siguiente

dig +nssearch host.example.com

los devolvió, que luego podrían usarse como lo describe voretaq7 para obtener el valor TTL real para el registro.

Actualización: seguí olvidando cómo hacer esto y teniendo que volver, por lo que escribí un pequeño script para obtener primero el servidor de nombres autorizado y luego excavarlo.

#!/bin/bash

show_help(){
        echo Usage $0 domain
}

if [ -z "$1" ]; then
        show_help
        exit 1
fi

DOMAIN=$1

FIRST_AUTHORITATIVE_NS=$(dig +nssearch $DOMAIN | sed -n 's/^SOA \([^ ]*\)\.[ ].*/\1/p' | head -1)

echo
echo Using authoritative nameserver $FIRST_AUTHORITATIVE_NS

dig @$FIRST_AUTHORITATIVE_NS $@

5
2017-10-19 14:04