NSCD TTL 和 DNS TTL,哪个更强?

NSCD TTL 和 DNS TTL,哪个更强?

我已经在公司中配置了许多服务器与 NSCD 配合使用,以便对主机进行本地缓存,并降低本地 DNS 服务器的流量并在可能时返回更快的 DNS 响应。

我已经nscd像这样配置并且仅将其用于缓存主机:

logfile                 /var/log/nscd.log
debug-level             9
server-user           nscd 

paranoia                no

enable-cache            hosts           yes
#positive-time-to-live   hosts           3600
positive-time-to-live   hosts           86400
negative-time-to-live   hosts           20
suggested-size          hosts           211
check-files             hosts           yes
persistent              hosts           yes
shared                  hosts           yes
#max-db-size             hosts   67108864
max-db-size             hosts   536870912

您可以看到我已将 Positive-TTL 配置为 24 小时。

我的问题是,使用的是哪个 TTL?是在此处配置的 TTL 还是在 DNS 中为每个域配置的 TTL?

我猜测较短的 TTL 会发生,但我可能错了,您能就此事解释一下吗?

答案1

需要注意的是,它nscd充当了解析器系统的缓存,并非专门用于 DNS 查找,而是用于所有名称查找方式。
因此,nscd在处理 DNS TTL 方面一直存在问题。

版本nscd2004-09-15 之前的glibc无法正确处理 DNS TTL。
当这个问题解决后,glibcnscd仍然只处理 DNS TTL如果应用程序调用getaddrinfo;如果应用程序调用过时的gethostbyname功能,DNS TTL值仍会被忽略。

据我了解,glibc 维护者最终屈服于 glibc 2.8(2008)并使所有名称查找方法的行为保持一致。无论查找如何启动,当前版本都应使用 DNS TTL。

也可以看看:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=335476
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=669304
https://sourceware.org/ml/libc-alpha/2008-04/msg00050.html
https://sourceware.org/bugzilla/show_bug.cgi?id=4428
http://udrepper.livejournal.com/16362.html

相关内容