如何在 Windows、Mac 或 Linux 中刷新 DNS 缓存

已发表: 2022-10-20

你有没有遇到过这样的场景,你访问一个页面,你看到的内容似乎已经过时或部分缺失,甚至根本没有内容? 如果是这样,那么在故障排除期间,您应该检查的一件事是这些问题的罪魁祸首是否是您的设备 DNS 缓存。

您可能知道您的浏览器可能会“缓存”内容(保存内容以便将来更轻松、更快捷地检索),但您是否也知道您的计算机/笔记本电脑也会这样做? 今天我们将向您展示如何清除/刷新存储在您计算机上的 DNS 缓存,无论您是运行 Windows、在 Mac 上工作还是运行 Linux 分发系统。

因此,在我们陷入困境之前,让我们快速更详细地了解一下 DNS 缓存到底是什么。

为什么存在 DNS 缓存

您可能已经知道,域名系统 (DNS) 本质上是一个地址簿,它将域名与保存网站内容的服务器的 IP 相匹配。 因此,当您访问网站时,DNS 会将域名转换为相应的 IP 地址,以便浏览器可以呈现正确的资源。

下图显示了如何将域转换为计算机友好的 IP 格式并返回网站内容。

此过程可能需要一段时间才能运行并发送响应。 这就是为什么在查找过程的每个步骤中都包含 DNS 缓存,而操作系统 DNS 缓存就是其中之一。 这样,当用户重新访问网站时,浏览器将简单地从缓存中检索信息并返回结果,而不是查找信息并遵循通过 DNS 系统查找 IP 地址的过程。 这可以显着加快加载网站的过程。

为什么要刷新操作系统上的 DNS 缓存?

您可能需要刷新操作系统 DNS 缓存的原因有多种。

尽管系统上的 DNS 应该(理论上)在需要时更新(例如,网站移动到新的 IP 地址),但这并不总是发生。 因此,您最终可能会看到过时的内容,或者收到 404 错误。 这可能非常令人沮丧!

在开发网站或设置其域名记录时,刷新 DNS 缓存也可以派上用场。 这是 DNS 缓存可能导致冲突并阻止您查看正确内容或整个站点的时候。

此外,如果您不想使用浏览器提供的隐身模式,您仍然可以通过刷新 DNS 缓存来保持搜索的私密性。 如果您这样做并清除您的 cookie,则存储的有关您访问的网站的信息将被删除。

使用 Pressidium 托管您的网站

60 天退款保证

查看我们的计划

最后一个值得注意的问题称为 DNS 欺骗(也称为 DNS 缓存中毒)。 这是一种计算机黑客攻击形式,其中有人可以访问您的 DNS 缓存并将名称服务器重定向到不正确的结果记录,例如另一个 IP 地址。 这意味着您可能会不知不觉地浏览一个不是您认为的网站的网站。 显然,这具有安全隐患,因为您可能会被诱骗输入登录凭据或泄露对黑客有用的其他信息。 通过定期清除您的 DNS 缓存,您可以减少成为这种特定类型黑客攻击受害者的可能性。

您的 DNS 缓存通常会设置为在一段时间后自动过期,但有时手动刷新它确实有助于确保此过程完全执行。 当您发现自己在连接到网站时遇到问题(在排除了互联网连接等明显原因之后!)时,这也是一个很好的步骤。

刷新缓存并没有真正的缺点,当您第一次访问网站时可能会受到轻微的时间损失。 但是,这种“滞后”可能几乎不会引起注意,并且随着站点被缓存,您第二次访问同一站点时不会遇到这种情况。

如何在 Windows 10 上刷新 DNS 缓存

以下是清除 Windows 10 操作系统上的 DNS 缓存所必须遵循的步骤。

第一步:打开一个DOS命令窗口。 为此,请单击搜索图标并键入“运行”(或按住 Windows 按钮并按 R)

第二步:在弹出的运行窗口中输入不带引号的“cmd”,然后按Enter。 现在应该在您面前打开一个命令提示符窗口。

您要做的最后一件事是键入以下命令,然后按 Enter:

 ipconfig /flushdns

而已。 您的 DNS 缓存现在已刷新。

如何在 Mac 上刷新 DNS 缓存

根据您使用的 macOS 版本,刷新 DNS 缓存的过程可能会有所不同。

清除最新 macOS 版本上的 DNS 缓存

对于 macOS 版本 10.11 或更高版本,打开终端并输入以下命令:

 sudo killall -HUP mDNSResponder

然后你会被要求输入你的密码,然后就是这样。 您的 DNS 缓存现在应该是清晰的。

清除旧 macOS 版本上的 DNS 缓存

对于旧版本,命令因每个版本而异:

OS X 小牛队

 sudo killall -HUP mDNSResponder

OS X 优胜美地:

 sudo discoveryutil udnsflushcaches

Mac OS X 雪豹、Mac OS X 豹

 sudo dscacheutil -flushcache

Mac OS X 老虎

 lookupd -flushcache

注意:您可以通过单击左上角的“苹果”图标并按“关于本机”选项来检查您正在运行的 macOS 版本。

如何在 Linux 发行版上刷新 DNS 缓存

在清除 Linux 发行版上的 DNS 缓存之前,您需要确保 systemd-resolved 处于活动状态。 要检查这一点,请在终端窗口中输入以下命令:

 sudo systemctl is-active systemd-resolved

如果“活动”,那么您可以继续并输入命令以刷新 DNS 缓存。

现在,如果您使用的是Ubuntu ,则应输入以下内容:

 sudo systemd-resolve --flush-caches

您不会收到 DNS 已成功清除的确认消息。 检查的方法是运行以下命令:

 sudo systemd-resolve --statistics

如果该过程成功,您将看到“当前缓存大小”为 0。

但是,如果您不使用 Ubuntu,请插入以下命令:

 sudo /etc/init.d/dns-clean start

结论

刷新 DNS 缓存不是您必须经常做的事情,但它可以快速解决意外的网站浏览问题。 从上面可以看出,无论您的操作系统如何,这都是一个非常快速的过程!