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

知乎推荐<https://zhuanlan.zhihu.com/p/559614319> 知乎网址<https://zhuanlan.zhihu.com/p/559614319> 原文网址<https://zhuanlan.zhihu.com/p/559614319>

在 Windows 上清除/刷新 DNS 缓存

对于所有 Windows 版本，清除 DNS 缓存的过程都是相同的。你需要使用管理员权限打开命令提示符并运行 ipconfig /flushdns。我是在购买的3A平台购买的服务器进行测试。

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

在 Windows 搜索栏中键入 cmd 。 右键单击 “命令提示符”，然后右击 “以管理员身份运行”。这将打开 “命令提示符” 窗口。 在命令行上，键入以下行，然后按回车： ipconfig /flushdns 成功后，系统将返回以下消息：

Windows IP Configuration

Successfully flushed the DNS Resolver Cache. Windows 7 要在 Windows 7 中清除 DNS 缓存，请执行以下步骤：

单击开始按钮。 在开始菜单搜索文本框中键入 cmd。 右键单击 “命令提示符”，然后单击 “以管理员身份运行”。这将打开 “命令提示符” 窗口。 在命令行上，键入以下行，然后按回车： ipconfig /flushdns 成功后，系统将返回以下消息：

Windows IP Configuration

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

系统化解决 大多数现代 Linux 发行版，例如 Ubuntu 18.04，都使用 systemd 解析的服务来缓存 DNS 条目。

要查找服务是否正在运行，请运行：

$ sudo systemctl is-active systemd-resolved.service 如果该服务正在运行，则将打印命令 active，否则将看到 inactive。

要清除系统解析的 DNS 缓存，你需要键入以下命令。

$ sudo systemd-resolve --flush-caches 成功后，该命令不会返回任何消息。

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

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

$ sudo systemctl restart dnsmasq.service 也可以使用以下命令

$ sudo service dnsmasq restart NSCD NSCD 是一个缓存守护程序，它是大多数基于 RedHat 的发行版的首选 DNS 缓存系统。

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

$ sudo systemctl restart nscd.service 或者 $ sudo service nscd restart 在 MacOS 上清除/刷新 DNS 缓存 根据你所运行的版本，在 MacOS 中刷新缓存的命令略有不同。该命令必须以具有系统管理员特权的用户（sudo 用户）身份运行。

要清除 MacOS 中的 DNS 缓存，请执行以下步骤：

打开查找器。 转到应用程序>实用程序>终端。这将打开终端窗口。 在命令行中，输入以下行，然后按回车： $ 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 客户端，以防止每次访问该网站时重复查询。

谷歌浏览器 Chrome 要清除 Google Chrome 的 DNS 缓存，请执行以下步骤：

打开一个新标签，然后在地址栏输入 chrome://net-internals/#dnsChrome。 点击 “清除主机缓存” 按钮。 如果那对你不起作用，请尝试清除缓存和 Cookie。

按下 CTRL+Shift+Del 以打开 “清除浏览数据” 对话框窗口。 选择一个时间范围。选择 “所有时间” 以删除所有内容。 选中 “Cookie 和其他站点数据” 和 “缓存的图像和文件” 框。 点击 “清除数据” 按钮。 此方法适用于所有基于 Chrome 的浏览器，包括 Chromium，Vivaldi 和 Opera。

火狐 Firefox 要清除 Firefox 的 DNS 缓存，请执行以下步骤：

在右上角，单击汉堡包图标 ☰ 以打开 Firefox 的菜单： 点击 ⚙ Options (Preferences) 链接。 单击左侧的 “隐私和安全性” 或 “隐私” 选项卡。 向下滚动到该 History 部分，然后单击 Clear History... 按钮。 选择要清除的时间范围。选择 “所有内容” 以删除所有内容。 选择所有框，然后单击 “立即清除” 。 如果这对你不起作用，请尝试以下方法并暂时禁用 DNS 缓存。

打开一个新标签，然后在 Firefox 的地址栏中输入 about:config 。 搜索 network.dnsCacheExpiration，将值暂时设置为 0，然后单击 “确定”。然后，改回默认值，然后单击 “确定” 。 搜索 network.dnsCacheEntries，将值暂时设置为 0，然后单击 “确定” 。然后，改回默认值，然后单击 “确定”。 结论 以上都是我在3A平台云服务器进行操作的。

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

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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki.ash.yt/chang-jian-wen-ti-ji-jie-jue-fang-fa/zheng-que-qing-chu-dns-huan-cun-fu-quan-ping-tai-xiang-xi-jiao-cheng.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
