Vraag Hoe kan ik Time-To-Live (TTL) voor een DNS-record zien?


Ik zou graag de TTL-waarde (Time-to-Live) zien voor een CNAME-record.

Ik heb toegang tot graven (op Apple Mac OS X), wat mij een antwoord als volgt geeft:

% 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

Is de waarde '43200' de TTL voor dit DNS-record?


105
2017-09-09 18:21


oorsprong




antwoorden:


Ja, het nummer daar is het aantal seconden dat overblijft tot die record vervalt (op voorwaarde dat we geen vragen stellen aan de gezaghebbende nameserver). Uiteraard met een CNAME is er een niveau van omleiding, dus de TTL voor de A-record waarnaar deze verwijst, kan in dit geval ook belangrijk zijn.

Als u een paar seconden wacht en opnieuw graaft op uw lokale naamserver, moet u dat TTL-nummer zien afnemen met het aantal seconden dat u hebt gewacht (ongeveer). Als deze 0 bereikt, wordt deze vernieuwd of als uw naamserver de zone om een ​​of andere reden vernieuwt.

Zoals hierboven vermeld, is er een verschil tussen het uitvoeren van een graaf met een naamserver met een vermelding in de cache en de nameserver die gezaghebbend is voor die vermelding.

(in de voorbeelden die ik hieronder gebruik, gebruik ik de +noauthority  +noquestion & +nostats vlaggen alleen om de uitvoer kort te houden).

Let op het verschil tussen de volgende vragen:

$ 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

Dus in de bovenstaande query vragen we een nameserver die gezaghebbend is voor stackoverflow.com. Als je de flags sectie, bijzondere aandacht besteden aan de aa vlag die dit aangeeft is een gezaghebbend antwoord (dat wil zeggen niet in de 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

In de bovenstaande zoekopdracht hebben we geen aa vlag en de TTL blijft dalen terwijl we query's en query's uitvoeren. Dit is in wezen het loket waar ik het eerder over had.


127
2017-09-09 18:28



Uitstekend antwoord! Bedankt! :) - Paul Calabro


Als je toevallig vastzit in een Windows-box en alleen toegang hebt tot 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?

Ja - zoals gerapporteerd door de server die uw vraag beantwoordde (als u een caching-server vraagt, wordt de resterende tijd in de cache geretourneerd).

Om de TTL te zien die is ingesteld voor de daadwerkelijke recordquery, wordt de gezaghebbende nameserver (dig @some.dns.server host.example.gov - De gezaghebbende DNS-servers worden vermeld in het gedeelte Authority van de dig-uitgang)

Snel controleren om te zien of je de gezaghebbende NS vraagt: Als je rent dig nogmaals en de TTL-wijzigingen die u waarschijnlijk een cache raken. Als dit hetzelfde blijft, vraagt ​​u waarschijnlijk de gezaghebbende server (of een server die de cache heeft verbroken).


14
2017-09-09 18:32



als ttl niet verandert, kan het alleen maar een ding zijn dat zichzelf als gezaghebbend beschouwt: de domeineigenaar kan de DNS-server hebben veranderd zonder de oude naar beneden te halen .... had dat probleem vorige maand. - Jasen
@Jasen Ja, dat is absoluut mogelijk (het geeft ook iets belangrijks aan: de DNS-beheerder koopt drankjes bij het volgende bedrijfsuitje omdat hij de migratie verprutst!) - voretaq7


Ik kon de gezaghebbende servers niet zien in de standaard graafuitvoer, maar het volgende

dig +nssearch host.example.com

retourneerde ze, die vervolgens kon worden gebruikt zoals beschreven door voretaq7 om de werkelijke TTL-waarde voor het record te krijgen.

Update: bleef vergeten hoe je dit moest doen en moest terug komen, dus schreef een klein script om eerst de gezaghebbende nameserver te halen en dan te graven met het te gebruiken

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