Question Comment puis-je voir la durée de vie (TTL) d'un enregistrement DNS?


J'aimerais voir la valeur TTL (Time-To-Live) d'un enregistrement CNAME.

J'ai accès à creuser (sur Apple Mac OS X), ce qui me donne une réponse comme celle-ci:

% 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

La valeur '43200' est-elle la durée de vie de cet enregistrement DNS?


105
2017-09-09 18:21


origine




Réponses:


Oui, le nombre correspond au nombre de secondes restant jusqu'à l'expiration de cet enregistrement (à condition que nous n'interrogions pas le serveur de noms faisant autorité). De toute évidence, avec un CNAME, il existe un niveau de redirection; la durée de vie (TTL) pour l'enregistrement A vers laquelle il pointe dans ce cas peut également être importante.

Si vous attendez quelques secondes et lancez à nouveau dig sur votre serveur de noms local, vous devriez voir que le numéro TTL diminue du nombre de secondes que vous avez attendu (environ). Lorsqu'il atteint 0, il sera actualisé ou si votre serveur de noms actualise la zone pour une raison quelconque.

Comme mentionné ci-dessus, il existe une différence entre dig exécuté sur un serveur de noms avec une entrée en cache et le serveur de noms faisant autorité pour cette entrée.

(Dans les exemples que j'utilise ci-dessous, j'utilise le +noauthority  +noquestion Et +nostats drapeaux juste pour garder le terse de sortie).

Notez la différence entre les requêtes suivantes:

$ 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

Ainsi, dans la requête ci-dessus, nous interrogeons un serveur de noms faisant autorité pour stackoverflow.com. Si vous remarquez le flags section, portez une attention particulière à la aa drapeau qui indique qu'il s'agit d'un réponse faisant autorité (c'est-à-dire non mis en cache).

$ 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

Dans la requête ci-dessus, nous n'avons pas de aa drapeau, et le TTL continuera à diminuer à mesure que nous interrogeons et interrogons. C'est essentiellement le compteur dont je parlais précédemment.


127
2017-09-09 18:28



Excellente réponse! Merci! :) - Paul Calabro


Si vous êtes bloqué sur une fenêtre et n’avez accès qu’à 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?

Oui - tel que rapporté par le serveur qui a répondu à votre requête (si vous demandez à un serveur de mise en cache, il restera le temps restant dans son cache).

Pour voir la durée de vie définie sur l'enregistrement réel, interrogez le serveur de noms faisant autorité (dig @some.dns.server host.example.gov - Les serveurs DNS faisant autorité seront listés dans la section Autorité de la sortie numérique.

Vérification rapide pour voir si vous demandez le NS faisant autorité: Si vous exécutez dig encore une fois et les changements de durée de vie que vous frappez probablement un cache. Si cela ne change pas, vous demandez probablement au serveur faisant autorité (ou à un serveur qui a cassé la mise en cache).


14
2017-09-09 18:32



si ttl ne change pas, il peut s'agir simplement d'un serveur qui se considère comme faisant autorité: le propriétaire du domaine a peut-être changé de serveur DNS sans supprimer l'ancien système ... avait ce problème le mois dernier. - Jasen
@Jasen Oui, c'est tout à fait possible (Cela indique également quelque chose d'important: l'administrateur du DNS achètera des boissons à la prochaine sortie de l'entreprise pour avoir gâché la migration!) - voretaq7


Je ne pouvais pas voir les serveurs faisant autorité dans la sortie dig par défaut, mais ce qui suit

dig +nssearch host.example.com

les a retournés, qui pourraient ensuite être utilisés comme décrit par voretaq7 pour obtenir la valeur TTL réelle de l’enregistrement.

Mise à jour: gardé oublié comment faire cela et avoir à revenir, donc écrit un petit script pour aller chercher le serveur de noms faisant autorité puis creuser en utilisant

#!/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