正在初始化...

常见问题
FAQ

正确清除 DNS 缓存(全平台详细教程)

8 min2026-09-07

在 Windows 上清除/刷新 DNS 缓存

对于所有 Windows 版本,清除 DNS 缓存的过程都是相同的。你需要使用管理员权限打开命令提示符并运行 ipconfig /flushdns

Windows 10 和 Windows 8

要在 Windows 10 和 Windows 8 中清除 DNS 缓存,请执行以下步骤:

  1. 在 Windows 搜索栏中键入 cmd
  2. 右键单击「命令提示符」,然后选择「以管理员身份运行」。这将打开「命令提示符」窗口。
  3. 在命令行上,键入以下行,然后按回车:
ipconfig /flushdns

成功后,系统将返回以下消息:

Windows IP Configuration

Successfully flushed the DNS Resolver Cache.

Windows 7

要在 Windows 7 中清除 DNS 缓存,请执行以下步骤:

  1. 单击开始按钮。
  2. 在开始菜单搜索文本框中键入 cmd
  3. 右键单击「命令提示符」,然后单击「以管理员身份运行」。这将打开「命令提示符」窗口。
  4. 在命令行上,键入以下行,然后按回车:
ipconfig /flushdns

成功后,系统将返回以下消息:

Windows IP Configuration

Successfully flushed the DNS Resolver Cache.

在 Linux 上清除/刷新 DNS 缓存

在 Linux 上,除非已安装并运行诸如 Systemd-Resolved、DNSMasq 或 Nscd 之类的缓存服务,否则没有操作系统级 DNS 缓存。根据 Linux 发行版和所使用的缓存服务,清除 DNS 缓存的过程有所不同。

systemd-resolved

大多数现代 Linux 发行版(例如 Ubuntu 18.04)使用 systemd-resolved 服务来缓存 DNS 条目。

要查找服务是否正在运行,请运行:

sudo systemctl is-active systemd-resolved.service

如果该服务正在运行,则将打印 active,否则将看到 inactive

要清除 systemd-resolved 的 DNS 缓存,请键入以下命令:

sudo systemd-resolve --flush-caches

成功后,该命令不会返回任何消息。

Dnsmasq

Dnsmasq 是轻量级的 DHCP 和 DNS 缓存名称服务器。

如果你的系统使用 Dnsmasq 作为缓存服务器,则要清除 DNS 缓存,需要重新启动 Dnsmasq 服务:

sudo systemctl restart dnsmasq.service

也可以使用以下命令:

sudo service dnsmasq restart

NSCD

NSCD 是一个缓存守护程序,它是大多数基于 Red Hat 的发行版的首选 DNS 缓存系统。

如果系统使用 NSCD,要清除 DNS 缓存,则需要重新启动 NSCD 服务:

sudo systemctl restart nscd.service

或者:

sudo service nscd restart

在 macOS 上清除/刷新 DNS 缓存

根据你所运行的版本,在 macOS 中刷新缓存的命令略有不同。该命令必须以具有系统管理员特权的用户(sudo 用户)身份运行。

要清除 macOS 中的 DNS 缓存,请执行以下步骤:

  1. 打开「访达」。
  2. 转到「应用程序」>「实用工具」>「终端」。这将打开终端窗口。
  3. 在命令行中,输入以下行,然后按回车:
sudo killall -HUP mDNSResponder

输入你的 sudo 密码,然后再次按回车。成功后,系统不会返回任何消息。

对于早期版本的 macOS,刷新缓存的命令不同。

macOS 版本 10.11 和 10.9:

sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder

macOS 版本 10.10:

sudo discoveryutil mdnsflushcache
sudo discoveryutil udnsflushcaches

macOS 版本 10.6 和 10.5:

sudo dscacheutil -flushcache

清除/刷新浏览器 DNS 缓存

大多数现代的 Web 浏览器都有一个内置的 DNS 客户端,以防止每次访问网站时重复查询。

Google Chrome

要清除 Google Chrome 的 DNS 缓存,请执行以下步骤:

  1. 打开一个新标签,然后在地址栏输入 chrome://net-internals/#dns
  2. 点击「清除主机缓存」按钮。

如果那对你不起作用,请尝试清除缓存和 Cookie:

  1. 按下 Ctrl+Shift+Del 以打开「清除浏览数据」对话框窗口。
  2. 选择一个时间范围。选择「所有时间」以删除所有内容。
  3. 选中「Cookie 和其他站点数据」和「缓存的图像和文件」框。
  4. 点击「清除数据」按钮。

此方法适用于所有基于 Chrome 的浏览器,包括 Chromium、Vivaldi 和 Opera。

Firefox

要清除 Firefox 的 DNS 缓存,请执行以下步骤:

  1. 在右上角,单击汉堡包图标 ☰ 以打开 Firefox 的菜单。
  2. 点击 ⚙ Options(Preferences)链接。
  3. 单击左侧的「隐私和安全性」或「隐私」选项卡。
  4. 向下滚动到 History 部分,然后单击 Clear History... 按钮。
  5. 选择要清除的时间范围。选择「所有内容」以删除所有内容。
  6. 选择所有框,然后单击「立即清除」。

如果这对你不起作用,请尝试以下方法并暂时禁用 DNS 缓存:

  1. 打开一个新标签,然后在 Firefox 的地址栏中输入 about:config
  2. 搜索 network.dnsCacheExpiration,将值暂时设置为 0,然后单击「确定」。然后改回默认值,再单击「确定」。
  3. 搜索 network.dnsCacheEntries,将值暂时设置为 0,然后单击「确定」。然后改回默认值,再单击「确定」。

结论

至此,你已经了解了如何在 Windows、Linux 和 macOS 操作系统上清除或刷新 DNS 缓存。

如果还存在问题,Linux 和 macOS 还可以使用 dig 命令来查询 DNS 并对 DNS 问题进行故障排除。