सवाल मैं एक DNS रिकॉर्ड के लिए टाइम-टू-लाइव (टीटीएल) कैसे देख सकता हूं?


मैं एक सीएनएन रिकॉर्ड के लिए टाइम-टू-लाइव (टीटीएल) मान देखना चाहता हूं।

मेरे पास पहुंच है गड्ढा करना (ऐप्पल मैक ओएस एक्स पर), जो मुझे इस तरह का जवाब देता है:

% 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

क्या इस DNS रिकॉर्ड के लिए टीटीएल मूल्य '43200' है?


105
2017-09-09 18:21


मूल




जवाब:


हां, उस रिकॉर्ड की संख्या समाप्त होने तक सेकंड की संख्या शेष है (प्रदान करना हम आधिकारिक नेमसर्वर से पूछताछ नहीं कर रहे हैं)। स्पष्ट रूप से एक सीएनएन के साथ पुनर्निर्देशन का एक स्तर होता है, इसलिए इस मामले में एक रिकॉर्ड के लिए टीटीएल भी महत्वपूर्ण हो सकता है।

यदि आप कुछ सेकंड प्रतीक्षा करते हैं और अपने स्थानीय नेमसर्वर पर फिर से खोदते हैं, तो आपको यह देखना चाहिए कि आपके द्वारा प्रतीक्षा किए जाने वाले सेकंड की संख्या (टीटीएल संख्या) कम हो जाती है। जब यह 0 हिट करता है, तो यह रीफ्रेश हो जाएगा या यदि आपका नेमसर्वर ज़ोन को किसी कारण से रीफ्रेश करता है।

जैसा कि ऊपर बताया गया है, एक कैश किए गए प्रविष्टि के साथ नाम सर्वर के खिलाफ खुदाई और उस प्रविष्टि के लिए आधिकारिक है जो नेमसर्वर के बीच एक अंतर है।

(नीचे दिए गए उदाहरणों में मैं इसका उपयोग करता हूं +noauthority  +noquestion और +nostats आउटपुट terse रखने के लिए सिर्फ झंडे)।

निम्नलिखित प्रश्नों के बीच अंतर नोट करें:

$ 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

तो उपरोक्त क्वेरी में, हम एक नेमसर्वर से पूछ रहे हैं जो stackoverflow.com के लिए आधिकारिक है। यदि आप ध्यान देते हैं flags खंड, पर विशेष ध्यान देना  ध्वज जो यह दर्शाता है वह एक है आधिकारिक उत्तर (यानी कैश नहीं किया गया)।

$ 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

उपर्युक्त क्वेरी में, हमारे पास नहीं है  ध्वज, और टीटीएल कमजोर रहेगा क्योंकि हम क्वेरी और क्वेरी करते हैं। यह अनिवार्य रूप से काउंटर मैं पहले के बारे में बात कर रहा था।


127
2017-09-09 18:28



उत्कृष्ट जवाब! धन्यवाद! :) - Paul Calabro


यदि आप विंडोज़ बॉक्स पर फंस जाते हैं और केवल 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?

हां - जैसा कि सर्वर द्वारा आपको बताया गया है कि आपकी क्वेरी का उत्तर दिया गया है (यदि आप कैशिंग सर्वर से पूछ रहे हैं तो यह शेष समय को अपने कैश में वापस कर देगा)।

वास्तविक रिकॉर्ड क्वेरी पर टीटीएल सेट को देखने के लिए आधिकारिक नेमसर्वर (dig @some.dns.server host.example.gov - आधिकारिक DNS सर्वर को खुदाई के आउटपुट सेक्शन में सूचीबद्ध किया जाएगा)

यह देखने के लिए त्वरित जांच करें कि क्या आप आधिकारिक एनएस पूछ रहे हैं: यदि आप दौड़ते हैं dig फिर और टीटीएल परिवर्तन आप शायद एक कैश मार रहे हैं। यदि यह वही रहता है तो आप शायद आधिकारिक सर्वर से पूछ रहे हैं (या जिसने कैशिंग तोड़ दी है)।


14
2017-09-09 18:32



अगर टीटीएल नहीं बदलता है तो यह केवल एक ही हो सकता है जो खुद को आधिकारिक मानता है: डोमेन स्वामी ने पुराने सर्वर को बंद करने के बिना DNS सर्वर बदल दिया हो सकता है .... पिछले महीने यह समस्या थी। - Jasen
@ जेसन हां, यह निश्चित रूप से संभव है (यह कुछ महत्वपूर्ण भी इंगित करता है: DNS व्यवस्थापक माइग्रेशन को खराब करने के लिए अगली कंपनी में पेय खरीद रहा होगा!) - voretaq7


मैं डिफ़ॉल्ट खुदाई आउटपुट में आधिकारिक सर्वर नहीं देख सका, लेकिन निम्नलिखित

dig +nssearch host.example.com

उन्हें वापस कर दिया, जिसे रिकॉर्ड के लिए वास्तविक टीटीएल मूल्य प्राप्त करने के लिए voretaq7 द्वारा वर्णित के रूप में उपयोग किया जा सकता था।

अपडेट करें: इसे कैसे करना है और वापस आना भूलना भूल गया है, इसलिए आधिकारिक नेमसर्वर लाने के लिए एक छोटी सी लिपि लिखी, फिर इसका उपयोग करके खोदना

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