当我对 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 以了解其解析到的位置)