如何在 macOS、Windows 和 Linux 中刷新 DNS 缓存?


简介

在当今世界,互联网已成为我们日常生活不可或缺的一部分。我们依赖它来完成从工作到娱乐的一切事情,我们访问的每个网站都由其唯一的 IP 地址标识。但是,记住这些 IP 地址将非常困难,甚至是不可能的。

这就是域名系统 (DNS) 的用武之地。它将这些数字 IP 地址转换为易于记忆的可读域名。

DNS 缓存的解释

当计算机或设备连接到互联网或网络时,它会将其内存缓存中称为 DNS 缓存的 DNS 信息副本保存起来。此缓存的目的是加快将来对相同域名的请求速度,并通过避免重复查找来减少网络流量。

DNS 缓存存储诸如域名、其对应的 IP 地址以及用户先前请求的其他相关数据等信息。

刷新 DNS 缓存的重要性

尽管此系统非常有用,但有时缓存的信息可能会过时或损坏,这可能会导致尝试连接到网站或网络的用户出现问题。例如,如果您尝试访问最近更改了托管提供商并更新了其 IP 地址的网站,但您的系统仍在 DNS 缓存中保留其旧地址信息,那么您将无法访问该网站。

如何在 macOS 中刷新 DNS 缓存

使用终端命令

使用终端命令刷新 macOS 上的 DNS 缓存是一种简单有效的方法,可以清除任何过时的 DNS 条目。以下是如何通过终端命令行刷新 DNS 缓存的分步说明。

  • 从应用程序文件夹中打开终端应用程序,或通过在 Spotlight 中搜索它来打开它。

  • 输入以下命令:sudo killall -HUP mDNSResponder

  • 按 Enter 键,并在出现提示时输入您的管理员密码。

  • 输入管理员密码后,再次按 Enter 键。就是这样!

您已成功使用 macOS 上的终端刷新了 DNS 缓存。

使用系统偏好设置

或者,macOS 用户也可以通过系统偏好设置刷新其 DNS 缓存。

  • 从 Apple 菜单中打开系统偏好设置,或通过在 Spotlight 中搜索它来打开它。

  • 转到网络 > 高级 > DNS > 点击“DNS”选项卡

  • 点击“DNS 服务器”下 IP 地址前面的“减号” (-) 按钮

  • 最后点击“应用”,然后点击“确定”

就是这样!您已成功通过 macOS 上的系统偏好设置刷新了 DNS 缓存。视觉辅助的屏幕截图 -

如何在 Windows 中刷新 DNS 缓存

使用命令提示符

在 Windows 中刷新 DNS 缓存最常见的方法之一是利用命令提示符。为此,只需按照以下分步说明操作 -

  • 点击屏幕左下角的“开始”菜单图标。

  • 在搜索栏中输入“cmd”。

  • 右键点击“命令提示符”,然后选择“以管理员身份运行”。

  • 在命令提示符中输入“ipconfig /flushdns”,然后按 Enter 键。

  • 您应该会看到一条消息确认您的 DNS 缓存已成功刷新。

为了确保您已正确刷新 DNS 缓存,可以使用 ipconfig 命令进行检查。刷新缓存后,只需在命令提示符中输入“ipconfig /displaydns”,您应该会看到一个空列表,表明您的 DNS 缓存已清除。

使用 PowerShell

在 Windows 中刷新 DNS 缓存的另一种方法是使用 PowerShell。虽然此方法可能不如使用命令提示符常见,但对于某些用户来说仍然是一个有用的替代方案。

按照以下简单步骤操作 -

  • 点击屏幕左下角的“开始”菜单图标。

  • 在搜索栏中输入“powershell”。

  • 右键点击“Windows PowerShell”,然后选择“以管理员身份运行”。

  • 在 PowerShell 中输入“Clear-DnsClientCache”,然后按 Enter 键。

  • 您应该会看到一条消息确认您的 DNS 缓存已成功清除。

与通过命令提示符刷新一样,您可以使用 PowerShell 检查您的 DNS 缓存是否已正确清除。刷新缓存后,只需在 PowerShell 中输入“ipconfig /displaydns”,您应该会看到一个空列表,表明您的 DNS 缓存已清除。

如何在 Linux 中刷新 DNS 缓存?

刷新 nscd 守护程序缓存

刷新 Linux 上的 DNS 缓存可以通过多种方法完成。其中一种方法是刷新 nscd 守护程序缓存。nscd(名称服务缓存守护程序)是一种系统服务,可缓存和加速 DNS 查找。

但是,有时它可能会导致过时或不正确的缓存信息,从而导致访问某些网站时出现问题。因此,有时刷新 nscd 缓存至关重要。

为此,首先打开终端并输入命令“sudo systemctl restart nscd.service”。这将重新启动名称服务缓存守护程序并清除主机名或 IP 地址的任何缓存条目。

sudo systemctl restart nscd.service

刷新 systemd-resolved 缓存

刷新 Linux 上 DNS 缓存的另一种方法是使用 systemd-resolved。这是一项通过 D-Bus 接口为本地应用程序提供名称解析的服务。

它还维护已解析名称和查询的缓存。要刷新 system-resolved 的 DNS 缓存,请打开终端并输入“sudo systemd-resolve --flush-caches”。

sudo systemd-resolve --flush-caches

这将清除其缓存中的所有正(成功)和负(不成功)已解析条目。成功完成操作后,您应该会看到类似“Flushing caches...”的输出。

您可以通过运行“sudo systemd-resolve --statistics”来验证所有缓存是否已清除,该命令显示有关 system-resolved 当前状态(包括缓存条目计数)的统计信息。

sudo systemd-resolve --statistics

通过遵循上面提到的这两种方法,即刷新 nscd 守护程序缓存和刷新 system-resolved 缓存,您将能够成功刷新 Linux 上的 DNS 缓存并解决任何与 DNS 相关的问题。

刷新 DNS 缓存后疑难解答常见问题

刷新 DNS 缓存后无互联网连接:原因和解决方案

刷新 DNS 缓存后用户面临的最常见问题之一是互联网连接丢失。发生这种情况是因为系统忘记了先前访问过的域名的 IP 地址,并且无法再次找到它们。首先要检查路由器或调制解调器是否有问题,方法是重置它们。

如果网络没有问题,您可以尝试重新启动设备或清除浏览器中的 Cookie 和缓存。如果这些解决方案不起作用,您可能需要检查系统中 DNS 服务器设置是否存在问题。

刷新 DNS 缓存后的 DNS 解析问题

刷新 DNS 缓存后用户面临的另一个常见问题是 DNS 解析问题。当系统在尝试将域名解析为 IP 地址时未收到其配置的名称服务器的响应时,就会发生这种情况。

要解决此问题,首先检查您的网络连接是否稳定,并尝试从您的终端或命令提示符 ping 不同的网站以测试连接。如果连接测试失败,则可能是 /etc/resolv.conf 文件(在 Linux/macOS 上)或 TCP/IP 设置(在 Windows 上)中名称服务器地址的配置存在问题。

结论

在 macOS、Windows 和 Linux 中刷新 DNS 缓存是一个简单的过程,可以通过清除过时或损坏的 DNS 缓存条目来提高设备的网络性能。但是,用户在执行此过程后可能会遇到疑难解答问题。通过遵循本文中概述的步骤,您可以快速解决这些问题并顺利恢复浏览互联网。

请务必在假设系统存在问题之前,始终仔细检查您的配置和连接。祝您浏览愉快!

更新于: 2023年6月5日

224 次查看

开启您的 职业生涯

通过完成课程获得认证

开始
广告