如何更新/刷新客户端上的 DNS 缓存?

如何更新/刷新客户端上的 DNS 缓存?

当我对 DNS 主机进行更改时。

我如何让客户端(服务器)更新/刷新其 DNS 缓存,以便他们立即看到更改?

答案1

您可以在 Ubuntu 上使用 重新启动 BIND sudo rndc reload,在 Centos 上我相信您必须这样做/etc/init.d/bind restart

您还可以执行/etc/init.d/networking restart刷新运行 Ubuntu 的本地桌面的 DNS/网络。

答案2

我发现简单的重启并不总是能清除缓存。另一种方法是使用 nscd 命令并使主机缓存无效。

# nscd -i hosts

那么您甚至不需要重新启动缓存服务。

答案3

根据你的发行版,客户端可能默认不缓存。对于 Ubuntu 或 CentOS,请尝试以下命令:sudo /etc/init.d/nscd status

...查看缓存守护程序是否正在运行。如果正在运行,则说明您的客户端正在缓存 DNS,您可以使用以下命令刷新它:sudo /etc/init.d/nscd restart

如果 NSCD 没有运行,那么客户端上就没有什么可刷新的,您需要:1. 确保旧条目不在 /etc/hosts 文件中 2. 确保 DNS 更改已经传播到任何 DNS 从属服务器(检查 resolv.conf 以了解其解析到的位置)

相关内容