如何设置dns缓存时间?

Mon*_*oya 2 networking dns

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

使用命令:

dig +ttlid copyleaks.com
Run Code Online (Sandbox Code Playgroud)

给我:

; <<>> 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
Run Code Online (Sandbox Code Playgroud)

在域之后,您可以看到它缓存了 299 秒,并且在随后的查询中它会下降。

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

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

nob*_*ody 5

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

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

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