Anonim

DNS(域名系统)服务器将网站的人性化名称(例如switchingtomac.com)转换为指向托管该网站的特定服务器的IP地址。

如果您的 DNS 设置工作不正常,这些 DNS 查找将无法工作,您将无法访问该网站。如果您在 Mac 上收到“DNS 服务器未响应”或其他与 DNS 相关的错误消息,这些可能是解决问题的方法。

重启一切

重启的标准建议比以往任何时候都更适用于 DNS 问题,因为通常需要解决的是互联网连接问题。因此,重新启动链中的所有设备。重新启动调制解调器(例如,光纤 ONT、有线电视盒等)和路由器(如果它是单独的设备)。重新启动任何卫星网格单元、扩展器和中继器。最后,重启Mac。

一些互联网服务提供商允许用户通过网站或移动应用仪表板远程重置ISP 连接。如果你有这个功能,你可能还想远程重置你的ISP连接。

是你的Mac问题吗?

在你开始检查你的Mac之前,你必须将问题缩小到你的电脑,否则你会浪费你的时间并可能把事情搞得更糟。

检查问题是否出在您的Mac 之外的最快方法是在连接到同一网络的不同设备上打开同一网页。或者,将您的 Mac 切换到不同的连接(例如,您的 iPhone 热点或以太网)并查看问题是否仍然存在。

您可能还想尝试不同的网络浏览器,例如,如果您一直在使用Safari,则切换到谷歌浏览器,反之亦然。

如果问题仍然存在于您的 macOS 设备之外,您最好先按照我们的一般 DNS 故障排除指南进行操作。您可能还面临 DNS 中断,您可以按照下面“更改您的 DNS 服务器”中概述的步骤解决此问题。

更新您的浏览器和macOS

假设您在Chrome、Safari 或其他浏览器中有任何待处理的浏览器更新。在进一步解决您的 DNS 问题之前,请先完成该更新。尽管 DNS 中断或其他问题,浏览器应该没有连接问题,因为它直接连接到可用更新服务器列表。

我们还看到在线论坛帖子表明,macOS 计算机上的 DNS 问题比其他版本的 macOS 更熟悉特定版本。例如,特别是 macOS Big Sur 似乎有随机弹出的 DNS 问题。

无论这是特定版本的macOS 的问题,最好更新到您正在运行的macOS 版本的最新版本。或者,如果您已准备好进行重大升级,请更新到您的 Mac 硬件支持的最新版本的 macOS。这应该消除由 Apple 已知的任何错误引起的 DNS 问题。

重启mDNSResponder

如果您打开 macOS 活动监视器,您会看到一个名为“mDNSResponder”的进程作为在操作系统后台运行的众多程序之一。这个小软件有一个重要的工作:它在网络上寻找使用 Apple 的 Bonjour 零配置网络协议的设备。

数百种设备、应用程序和 macOS 功能都依赖于 mDNSResponder 才能正常运行,但有时该过程会出错。这可能会导致奇怪的网络行为,包括尝试浏览网站时的 DNS 错误。

  1. 通过在Spotlight 搜索中搜索打开活动监视器。您可以按 Command + 空格键打开 Spotlight 搜索。

  1. 使用搜索功能在正在运行的进程列表中查找mDNSresponder。

  1. 选择它,然后选择X图标杀死进程。

  1. 确认您要强制退出mDNSresponder。

  1. 重新打开网站试试

刷新DNS缓存

最常见的问题之一是 DNS 缓存已损坏或过时。 DNS缓存列出了网站地址及其相关的IP地址。

您经常访问或最近访问过的网站会将其IP地址缓存起来,以便您下次看到它们时,浏览器会直接访问服务器,而不是先查询DNS服务器。

如果 IP 地址已更改或该特定地址上的服务器已关闭,您的 DNS 缓存现在指向错误的位置,网站将无法加载。您可以“刷新”DNS 缓存,这意味着将其擦除。这会强制您的浏览器从 DNS 服务器获取最新信息:

  1. 打开终端。您可以通过按 Command + 空格键然后搜索“终端”找到它。
  1. 接下来,我们将使用“sudo”或“Super User DO”运行命令。这会将命令提升到最高管理员级别。执行这些命令时,您可能需要输入 Mac 的管理员密码。
  1. 在 macOS 中刷新 DNS 的确切终端命令因您运行的版本而异。以下命令特定于列出的每个 macOS 版本。

对于Mojave(版本10.14)、High Sierra(版本10.13)、Sierra(版本10.12)、Mountain Lion(版本10.8)和Lion(版本10.7)使用:

sudo killall -HUP mDNSResponder

对于El Capitan(版本10.11)和Mavericks(版本10.9):

sudo dscacheutil -flushcache sudo killall -HUP mDNSResponder

优胜美地(10.10版):

sudo discoveryutil mdnsflushcache sudo discoveryutil udnsflushcaches

对于Snow Leopard(10.6版)和Leopard(10.5版):

sudo dscacheutil -flushcache

对于Tiger(版本10.4):

lookupd -flushcache

现在您的DNS 缓存为空,应该解决所有与缓存相关的问题。如果您不知道自己的 macOS 版本,请查看我的 macOS 版本是多少?

如果您需要在Windows、iOS 或Android 设备上刷新DNS,请查看我们的DNS 缓存刷新指南。

更改您的DNS服务器

一般而言,ISP 会维护自己的DNS 服务器,以便其客户在浏览网站时能够获得出色的响应速度。您的路由器会自动从您的 ISP 获取 DNS 服务器地址,所有名称服务器请求都会转到这些服务器。

但是,您不必简单地使用您的ISP 提供的DNS 服务器。事实上,许多ISP的DNS服务器都比较差,所以你最好换一个一般认为顶级的。

  1. 打开苹果菜单并选择系统偏好设置。

  1. 下一步,选择网络。

  1. 现在选择您要为其指定DNS 服务器的网络连接。如果您使用的是 Wi-Fi,请选择相关的 Wi-Fi 连接。如果您使用多个网络接口,则必须对所有接口重复这些步骤。

  1. 选择“高级”,然后选择“DNS”选项卡。

  1. 要添加DNS 服务器,请选择“DNS 服务器”部分下的+ 按钮。

您选择哪个DNS服务器由您决定,但强烈推荐Cloudflare DNS和Google DNS。

Google 快速准确的公共DNS 服务器是不错的首选。这些是要输入的详细信息:

  • 8.8.8.8
  • 8.8.4.4
  • 2001:4860:4860::8888
  • 2001:4860:4860::8844

这些是为Cloudflare DNS添加的服务器:

  • 1.1.1.1
  • 1.0.0.1
  • 2606:4700:4700::1111
  • 2606:4700:4700::1001

第三个不错的选择是OpenDNS。这些是服务器地址:

  • 208.67.222.222
  • 208.67.220.220

您甚至可以使用专门的智能DNS 服务,让您精细控制您的互联网体验,甚至可以绕过基于位置的内容阻止。然而,大多数智能DNS服务确实需要订阅费。

检查Mac防火墙

在某些情况下,您的 DNS 问题可能是由 Mac 的防火墙问题引起的。防火墙是阻止未经授权的流量的软件或硬件网络过滤器。由于某种原因,您的防火墙可能会阻止您与 DNS 服务器的连接。查看 Mac 防火墙配置指南,了解有关启用、禁用和配置防火墙的详细信息。

使用主机文件设置自定义路由

现代操作系统有一个称为主机文件的本地路由表。这是一个简单的文本文档,您的浏览器将始终在 DNS 缓存或 DNS 服务器之前检查它。

如果您只遇到特定网站的问题,您可以通过编辑主机文件为该网站设置自定义路由。该文件包含一个“主机名”列表,它只是一个 IP 地址和随之而来的网站 URL。

添加IP地址和站点URL一样简单。你可以将URL重定向到任何你喜欢的IP地址,这有它的用处,但这里我们希望它指向我们要访问的网站。

您可以为最重要的网站设置永久重定向列表,这样DNS 问题就不会影响它们。查看我们的 macOS 主机文件编辑指南以获取确切说明。

如何解决 macOS 上的 DNS 问题