如何避免 DNS 的 NSCD

如何避免 DNS 的 NSCD

我现在使用 NSCD 服务作为 DNS。但有时我看到 NSCD 自行消失,并且 DNS 解析无法正常进行。请告诉我如何避免 DNS 的 NSCD 。如果我们绕过 NSCD 有什么缺点?

答案1

当解析用户、组、主机、服务...时,进程将首先尝试连接到套接字nscd(类似/var/run/nscd/socket),我认为没有办法解决这个问题。

如果nscd已经死掉,连接将失败,因此 nscd 将不会被使用,这应该不是问题。

如果处于挂起状态,则连接可能挂起或成功。如果成功,客户端将发送其请求(给我 IP 地址www.google.com,给我密码条目niranjan...)。

现在,您可以配置nscd(至少是 GNU libc 附带的配置)来禁用任何类型数据库的缓存(例如通过使用enable-cache hosts no数据库/etc/nscd.confhosts

在这种情况下,nscd会回复客户:我不做缓存客户自行解决。

然而,如果nscd是在一个状态,它甚至可能无法给出这么简单的不会做答案,所以这不一定有帮助。但这可能更接近您想要的效果,而无需完全禁用nscd

nscd是一个缓存守护进程,它的目的是提高性能。禁用它可能会使这些查找速度变慢。然而,这只适用于某些类型的数据库。例如,如果您的用户/服务/组数据库仅位于小文件(/etc/passwd/etc/group/etc/services)中,那么使用nscd这些数据库可能不会带来任何好处(如果有的话)。nscd对数据库很有用hosts。但是nscd,您也可以使用本地缓存 DNS 服务器来dnsmasq代替使用 。

相关内容