我想查看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,id: 43514 ;; flags: qr rd ra; QUERY: 1,ADDITIONAL: 4 ;; ANSWER SECTION: stackoverflow.com. 246696 IN A 69.59.196.211