سؤال كيف يمكنني الاطلاع على مدة البقاء (TTL) لسجل DNS؟


أرغب في الاطلاع على قيمة مدة البقاء (TTL) لسجل CNAME.

لدي الوصول إلى حفر (على Apple Mac OS X) ، والتي تعطيني إجابة كالتالي:

% 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

هل القيمة "43200" هي TTL لسجل DNS هذا؟


106
2017-09-09 18:21


الأصل




الأجوبة:


نعم ، الرقم هو عدد الثواني المتبقية حتى انتهاء صلاحية السجل (بشرط ألا نطلب معلومات عن خادم الأسماء الرسمي). من الواضح أنه باستخدام CNAME ، هناك مستوى من إعادة التوجيه ، لذا قد يكون TTL للسجل A الذي يشير إليه في هذه الحالة مهمًا أيضًا.

إذا انتظرت بضع ثوان ثم شغلت مرة أخرى على خادم الأسماء المحلي ، فيجب أن تلاحظ انخفاض رقم TTL بعدد الثواني التي انتظرتها (تقريبًا). عندما تصل إلى 0 ، سيتم تحديثه أو إذا قام خادم الأسماء الخاص بك بتحديث المنطقة لسبب ما.

كما ذكر أعلاه ، هناك فرق بين حفر يجري تشغيل ضد خادم الأسماء مع إدخال مخبأ وخادم الاسم الذي هو موثوق لهذا الادخال.

(في الأمثلة التي استخدمها أدناه يمكنني استخدام +noauthority  +noquestion و +nostats أعلام فقط للحفاظ على الناتج مقتضب).

لاحظ الفرق بين الاستعلامات التالية:

$ 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

في الاستعلام أعلاه ، ليس لدينا أأ علمًا ، وسيظل TTL في تناقص أثناء الاستعلام والاستعلام. هذا هو أساسا العداد كنت أتحدث عن سابقا.


129
2017-09-09 18:28



إجابة ممتازة! شكر! :) - Paul Calabro


إذا واجهتك مشكلة في صندوق windows ولم يكن لديك سوى إمكانية الوصول إلى 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?

نعم - كما تم إبلاغك من قبل الخادم الذي أجاب على استفسارك (إذا كنت تطلب خادمًا مؤقتًا ، فسيتم إرجاع الوقت المتبقي في ذاكرة التخزين المؤقت الخاصة به).

لمشاهدة TTL تعيين على استعلام السجل الفعلي خادم الاسم الرسمي (dig @some.dns.server host.example.gov - سيتم سرد خوادم DNS الموثوقة في قسم السلطة في مخرجات الحفر)

تحقق سريعًا لمعرفة ما إذا كنت تطلب من NS المعتمد: إذا قمت بتشغيل dig مرة أخرى ويتغير TTL كنت ربما ضرب ذاكرة التخزين المؤقت. إذا بقيت على نفس الحال ، فمن المحتمل أنك تسأل الخادم المعتمد (أو الخادم الذي قام بكسر التخزين المؤقت).


14
2017-09-09 18:32



إذا لم يتغير ttl يمكن أن يكون مجرد واحد يعتقد نفسه أن تكون موثوقة: قد يكون مالك المجال قد تغيرت ملقم DNS دون shuttiong القديم لأسفل .... كان تلك المشكلة في الشهر الماضي. - Jasen
@ جاسين نعم ، هذا ممكن بالتأكيد (إنه يشير إلى شيء مهم أيضًا: سيشتري مشرف نظام أسماء النطاقات المشروبات في رحلة الشركة التالية لإخراج الهجرة!) - voretaq7


لم أستطع رؤية الخوادم الموثوقة في مخرجات الحفر الافتراضية ، ولكن ما يلي

dig +nssearch host.example.com

عاد لهم ، والتي يمكن استخدامها بعد ذلك كما هو موضح من قبل voretaq7 للحصول على قيمة TTL الفعلية للسجل.

التحديث: استمر في نسيان كيفية القيام بذلك واضطرًا للعودة ، لذلك كتب نصيًا صغيرًا لجلب خادم الأسماء أولاً ثم احفر باستخدامه

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