如何设置dns缓存时间?

如何设置dns缓存时间?

目前我的 ubuntu 17.10 上的 dns 缓存时间为 300 秒。

使用命令:

dig +ttlid copyleaks.com

给我:

; <<>> DiG 9.10.3-P4-Ubuntu <<>> +ttlid copyleaks.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 19394
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;copyleaks.com.                 IN      A
;; ANSWER SECTION:
copyleaks.com.          299     IN      A       104.24.29.22
copyleaks.com.          299     IN      A       104.24.28.22
;; Query time: 9 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Tue Apr 03 11:46:42 UTC 2018
;; MSG SIZE  rcvd: 74

而在域名之后,您可以看到它被缓存了 299 秒,并且在后续查询中它会被关闭。

如何将缓存时间设置为不同的值?

有没有办法为特定域设置一个值?

答案1

每个域都在其 SOA 记录 (try) 中定义了超时dig SOA copyleaks.com。如果您是域的管理机构,则可以设置 SOA 记录并在那里设置默认缓存时间。然后每个记录都有超时,我认为您的示例中的情况就是如此,其中 A 记录 copyleaks.com (try dig A copyleaks.com) 的超时为 300 秒,这与 SOA 记录中的超时不同。每个域管理员都将 TTL(离开时间)时间设置为一个值,以确保 DNS 记录更新频率足够高,并且不会从管理服务器传输得太频繁。

对于 SOA 记录,请查看此处:https://en.wikipedia.org/wiki/SOA_record。如果你想了解更多关于 DNS 的信息,我推荐这个http://shop.oreilly.com/product/9780596100575.do

尝试对其他域执行命令,您将看到不同的值。

相关内容