如何清除 DNS 缓存(macOS、FreeBSD、Ubuntu、CentOS、Windows)
1. Apple macOS
打开终端,输入如下命令:
1
|
sudo killall -HUP mDNSResponder; sudo dscacheutil -flushcache
|
2. FreeBSD
FreeBSB 自带 nscd(Name Service Cache Daemon),默认没有启用。
运行如下命令启动 nscd 并设置为开机自动运行 (sysin):
1
|
sudo service nscd enable && sudo service nscd start
|
清除缓存即重启 nscd 服务:
1
|
sudo service nscd restart
|
3. Ubuntu
Ubuntu 默认运行 systemd-resolve daemon 用于名称服务缓存。
1
|
|
备注:Ubuntu 也可以配置使用 nscd。
4. CentOS
CentOS 默认不存在 Client 端的 DNS 缓存。
参看:
flush client dns cache
flush dns cache
通常使用 nscd 来启用 dns 缓存:
1
|
yum -y install nscd
|
清除缓存即重启 nscd 服务:
1
|
systemctl restart nscd
|
5. Microsoft Windows
清除 dns 缓存内容:
1
|
ipconfig/flushdns
|
查看 dns 缓存内容:
1
|
ipconfig/displaydns
|
Windows 下的 DNS Cache 是由 DNS Client 后台进程控制的,你可以在 “服务” 中将其关闭,这样 windows 就不会进行 DNS 缓存,每次都将直接查询 DNS Server。