为大家汇总介绍,如何在不同操作系统和 Web 浏览器中手动刷新 DNS 缓存。
清除 DNS 缓存的步骤对所有 Windows 版本都是相同的,您只需使用管理员权限打开「命令提示符」并运行以下命令即可:
1在「开始」菜单中搜索?cmd——右击「命令提示符」——选择「以管理员身份运行」
2执行以下命令就可以刷新 Windows 操作系统级别的 DNS 缓存:
ipconfig /flushdns

在 Linux 操作系统中,除非您安装并运行了 Systemd-Resolved、DNSMasq 或Nscd 等缓存服务,否则就不会存在操作系统级的 DNS 缓存。而且,刷新 DNS 缓存的过程或步骤会因 Linux 发行版和您正在使用的缓存服务而各异。
大多数现代 Linux 发行版,如 Ubuntu 18.04 等都使用 Systemd Resolved 服务来缓存 DNS 条目。
1在「终端」中执行以下命令确定服务是否正在运行:
sudo systemctl is-active systemd-resolved.service
如果服务正在运行,则命令将打印出活动状态,否则您将看到非活动状态。
2要清除 Systemd Resolved DNS 缓存,请执行以下命令:
sudo systemd-resolve --flush-caches

Dnsmasq 是一款轻量级的 DHCP 和 DNS 服务器,如果您的系统使用 DNSMasq 作为缓存服务器,要清除 DNS 缓存,您需要在「终端」中执行以下命令:
sudo systemctl restart dnsmasq.service
或
sudo systemctl restart dnsmasq.service
来重启 Dnsmasq 服务。
Nscd 是一个缓存守护进程,它是大多数基于 RedHat 的 Linux 发行版所的首选 DNS 缓存系统。
如果您的 Linux 系统使用 Nscd,要清除 DNS 缓存,您需要在「终端」中执行以下命令:
sudo systemctl restart nscd.service
或
sudo service nscd restart
来重启 Nscd 服务。
在不同版本的 macOS 系统中,刷新 DNS 缓存的方法和命令会略有不同。在最新版本的 macOS 中清理 DNS 缓存可以在「终端」中执行以下命令:
sudo killall -HUP mDNSResponder

对于早期版本的 macOS,刷新 DNS 缓存的命令是不同的:
- sudo dscacheutil -flushcache
- sudo killall -HUP mDNSResponder
- sudo discoveryutil mdnsflushcache
- sudo discoveryutil udnsflushcaches
sudo dscacheutil -flushcache
大多数现代 Web 浏览器都有内置的 DNS 客户端,以防止每次访问网站时重复进行 DNS 查询。
要清除 Google Chrome 浏览器的 DNS 缓存,请执行以下步骤:
1地址栏中执行?chrome://net-internals/#dns?打开清理页面
2点击「Clear host cache」按钮即可清除 Chrome 内置的 DNS 缓存条目

此方法同时适用于所有基于 Chrome 的浏览器,包括 Chromium、Vivaldi 和Opera 等。
要清除 FireFox 浏览器的 DNS 缓存,请执行以下步骤:
1FireFox 地址栏中执行?about:config?打开清理页面
2搜索?network.dnsCacheExpiration?暂时将其值设置为?0,然后单击「确定」——再改回其原有值?60。
3搜索?network.dnsCacheEntries?暂时将其值设置为?0,然后单击「确定」——再改回其原有值?400。

……