Domain-Name-System
如何查看 DNS 記錄的生存時間 (TTL)?
我想查看 CNAME 記錄的生存時間 (TTL) 值。
我可以訪問dig(在 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”是此 DNS 記錄的 TTL 嗎?
是的,那裡的數字是該記錄到期前的秒數(假設我們沒有查詢權威名稱伺服器)。顯然,對於 CNAME,存在一定程度的重定向,因此在這種情況下它指向的 A 記錄的 TTL 可能也很重要。
如果您等待幾秒鐘並在本地名稱伺服器上再次執行 dig,您應該會看到 TTL 數減少了您等待的秒數(大約)。當它達到 0 時,它將刷新,或者如果您的名稱伺服器出於某種原因刷新了該區域。
如上所述,針對具有記憶體條目的名稱伺服器執行 dig 與對該條目具有權威性的名稱伺服器之間存在差異。
(在下面我使用的範例中,我使用
+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
部分,請特別注意表示這是權威答案(即未記憶體)的aa標誌。$ 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
在上面的查詢中,我們沒有aa標誌,隨著我們查詢和查詢,TTL會不斷減少。這基本上就是我之前所說的計數器。