Saltar al contenido

¿Cómo puedo ver el tiempo de vida (TTL) de un registro DNS?

Luego de de una extensa recopilación de datos hemos podido resolver esta incógnita que presentan algunos usuarios. Te ofrecemos la respuesta y nuestro deseo es servirte de mucha apoyo.

Solución:

Solución 1:

Sí, el número allí es el número de segundos que quedan hasta que caduque ese registro (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 vuelve a ejecutar dig en su servidor de nombres local, debería ver que el número 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 ejecutar dig 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 el +noauthority+noquestion & +nostats banderas solo para mantener la salida concisa).

Tenga en cuenta 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

Entonces, en la consulta anterior, estamos consultando un servidor de nombres que tiene autoridad para stackoverflow.com. Si notas el flags sección, preste especial atención a la Automóvil club británico bandera que indica que se trata de un 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 consultamos y consultamos. Este es esencialmente el contador del que estaba hablando anteriormente.

Solución 2:

Si está atascado en un cuadro de Windows y solo tiene acceso a nslookup:

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

Solución 3:

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

Sí, según lo informado por el servidor que respondió a su consulta (si le está preguntando a un servidor de almacenamiento en caché, le 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 le está preguntando al NS autorizado: si ejecuta dig de nuevo y el TTL cambia, probablemente estés golpeando un caché. Si permanece igual, probablemente le esté preguntando al servidor autorizado (o uno que haya roto el almacenamiento en caché).


Solución 4:

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: se me olvidaba cómo hacer esto y tenía que volver, así que escribí un pequeño script para buscar primero el servidor de nombres autorizado y luego cavar usándolo

#!/bin/bash

show_help()
        echo Usage $0 domain


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

DOMAIN=$1
APEX_DOMAIN=`echo $DOMAIN | sed 's/(.*.)([^.]*.[^.]*)/2/'`
FIRST_AUTHORITATIVE_NS=$(dig +nssearch $APEX_DOMAIN | awk '$1=="SOA"sub(".$","",$2);print $2;exit;')

echo
echo Using authoritative nameserver $FIRST_AUTHORITATIVE_NS

dig @$FIRST_AUTHORITATIVE_NS [email protected]

Si tienes alguna perplejidad o disposición de reformar nuestro ensayo te proponemos escribir una ilustración y con mucho gusto lo analizaremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *