Frage Wie kann ich Time-To-Live (TTL) für einen DNS-Eintrag sehen?


Ich möchte den TTL-Wert (Time-To-Live) für einen CNAME-Datensatz sehen.

Ich habe Zugang zu graben (auf Apple Mac OS X), die mir eine Antwort wie folgt gibt:

% 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

Ist der Wert "43200" die TTL für diesen DNS-Datensatz?


105
2017-09-09 18:21


Ursprung




Antworten:


Ja, die Zahl gibt die Anzahl der Sekunden an, die bis zum Ablauf dieses Datensatzes übrig sind (sofern wir nicht den autorisierenden Nameserver abfragen). Offensichtlich gibt es bei einem CNAME eine Umleitungsebene, so dass die TTL für den A-Datensatz, auf den es in diesem Fall zeigt, ebenfalls wichtig sein kann.

Wenn Sie ein paar Sekunden warten und erneut auf Ihrem lokalen Nameserver arbeiten, sollten Sie sehen, dass sich die TTL-Nummer um die Anzahl der Sekunden verringert, die Sie gewartet haben (ungefähr). Wenn es 0 erreicht, wird es aktualisiert oder wenn Ihr Nameserver die Zone aus irgendeinem Grund aktualisiert.

Wie oben erwähnt, gibt es einen Unterschied zwischen dig, der mit einem Nameserver mit einem zwischengespeicherten Eintrag ausgeführt wird, und dem Nameserver, der für diesen Eintrag autorisierend ist.

(In den Beispielen, die ich unten verwende, benutze ich die +noauthority  +noquestion & +nostats Flags nur um die Ausgabe kurz zu halten).

Beachten Sie den Unterschied zwischen den folgenden Abfragen:

$ 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

In der obigen Abfrage fragen wir einen Nameserver ab, der für stackoverflow.com autorisierend ist. Wenn Sie das bemerken flags Abschnitt, achten Sie besonders auf die aa Flag, das dies bezeichnet, ist ein autoritative Antwort (d. h. nicht zwischengespeichert).

$ 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

In der obigen Abfrage haben wir keine aa Flag, und die TTL wird bei Abfrage und Abfrage weiter sinken. Dies ist im Wesentlichen der Zähler, über den ich vorher gesprochen habe.


127
2017-09-09 18:28



Ausgezeichnete Antwort! Vielen Dank! :) - Paul Calabro


Wenn du zufällig in einer Windows-Box steckst und nur Zugriff auf nslookup hast:

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?

Ja - wie Ihnen vom Server gemeldet wurde, der Ihre Anfrage beantwortet hat (wenn Sie einen Caching-Server anfragen, wird die verbleibende Zeit im Cache zurückgegeben).

Um zu sehen, wie die TTL den tatsächlichen Datensatz einstellt, wird der autorisierende Nameserver abgefragt (dig @some.dns.server host.example.gov - Die autoritativen DNS-Server werden im Abschnitt Authority der Dig-Ausgabe aufgelistet.

Überprüfen Sie schnell, ob Sie die autorisierende NS fragen: Wenn Sie laufen dig wieder und die TTL ändert sich wahrscheinlich Sie treffen einen Cache. Wenn es gleich bleibt, fragen Sie wahrscheinlich den autorisierenden Server (oder einen, der das Caching unterbrochen hat).


14
2017-09-09 18:32



Wenn sich ttl nicht ändert, könnte es nur einer sein, der sich für autoritativ hält: Der Domain-Besitzer hat möglicherweise den DNS-Server gewechselt, ohne den alten herunterzufahren ... hatte dieses Problem letzten Monat. - Jasen
@Jasen Ja, das ist definitiv möglich (Es deutet auch etwas Wichtiges an: Der DNS-Administrator wird beim nächsten Firmenausflug Getränke kaufen, um die Migration zu vermasseln!) - voretaq7


Ich konnte die autoritativen Server in der Standard-Dig-Ausgabe aber nicht sehen

dig +nssearch host.example.com

gab sie zurück, die dann wie von voretaq7 beschrieben verwendet werden konnten, um den tatsächlichen TTL-Wert für den Datensatz zu erhalten.

Update: Ich habe immer wieder vergessen, wie ich das machen soll und muss zurückkommen, also habe ich ein kleines Skript geschrieben, um zuerst den autoritativen Nameserver zu holen und dann zu graben

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