如何清除 Win、Mac 和 Linux 计算机上的 DNS 缓存?
答案1
视窗
ipconfig /flushdns
Mac(OS X 10.5)
dscacheutil -flushcache
Linux
如果你正在使用神经胶质细胞:
nscd -i hosts
在 Windows 中,您可以使用以下命令关闭客户端 DNS 缓存:
net stop dnscache
它将停止 DNS 缓存服务。下次重启时它将重新启动。
答案2
谷歌是这样回复的:
要在 Microsoft Windows(Win XP、Win ME、Win 2000)中刷新 DNS 缓存:-
- Start -> Run -> type cmd
- in command prompt, type ipconfig /flushdns
- Done! You Window DNS cache has just been flush.
要刷新 Linux 中的 DNS 缓存,请重新启动 nscd 守护程序:-
- To restart the nscd daemon, type /etc/rc.d/init.d/nscd restart in your terminal
- Once you run the command your linux DNS cache will flush.
要刷新 Mac OS X Leopard 中的 DNS 缓存:-
- type lookupd -flushcache in your terminal to flush the DNS resolver cache.
ex: bash-2.05a$ lookupd -flushcache
- Once you run the command your DNS cache (in Mac OS X) will flush.
要在 Mac OS X 中刷新 DNS 缓存:-
- type dscacheutil -flushcache in your terminal to flush the DNS resolver cache.
ex: bash-2.05a$ dscacheutil -flushcache
- Once you run the command your DNS cache (in Mac OS X Leopard) will flush.
答案3
Ubuntu 默认不安装缓存 DNS 服务器。考虑到您的路由器或 ISP 可能正在使用缓存 DNS 服务器,因此安装缓存 DNS 服务器似乎有点愚蠢。
如果您遇到问题并且没有运行 nscd,请尝试重置 DNS 递归查找链中的下一步。
答案4
一个小警告,如果您需要刷新 DNS 缓存,则在终端计算机上刷新它可能无法按预期工作。通常,终端计算机上的 DNS 缓存是从最近的 DNS 服务器获取的,该服务器通常位于您的主路由器/dhcp 服务器上。
这对于大多数人来说并不明显,但它可能解释了为什么当您尝试执行前面提到的 Linux DNS 缓存刷新时,您发现nscd
它根本没有运行。(我已经很长时间没有看到默认运行这项功能的设置了)。
您需要检查网络的 dns 服务器/路由器/防火墙/调制解调器手册/用户界面以了解其工作原理。通常重新启动它们即可解决问题,但请注意,我见过一些在重新启动时记住 DNS 缓存的机器。
即便如此,当您正确完成上述所有操作时,您可能会直接继续前进,在第一次查看网络外部的最近跳跃(通常是您的 ISP,他们容易拥有过时的 DNS 缓存)时,使用错误条目污染您的 DNS 缓存。