如何解决 macOS 上的 DNS 问题

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

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

重启一切

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

一些互联网服务提供商允许订阅者通过网站或移动应用程序仪表板远程重置ISP连接。(ISP)如果您有此功能,您可能还想远程 重置您的ISP连接。(ISP)

你的 Mac 是问题吗?

在你开始研究你的Mac之前,你必须将问题缩小到你的计算机上,否则你会浪费你的时间并可能会进一步搞砸事情。

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

您可能还想尝试其他网络浏览器,例如如果您一直在使用Safari ,则切换到(Safari)Google Chrome ,反之亦然。

如果问题在您的 macOS 设备之外仍然存在,您最好先遵循我们的通用 DNS 故障排除指南(general DNS troubleshooting guide)。您可能还面临DNS中断,您可以按照下面“(DNS)更改(Change)您的DNS服务器”中 概述的步骤解决该问题。

更新您的浏览器和 macOS

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

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

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

重新启动 mDNSResponder

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

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

  1. 通过在Spotlight Search中搜索来打开活动监视器(Activity Monitor)。您可以通过按Command + Space打开Spotlight搜索。

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

  1. 选择它,然后选择 X 图标以终止该进程。

  1. 确认您要强制退出(Force Quit)mDNSresponder。

  1. 尝试再次打开该网站。

刷新 DNS 缓存

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

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

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

  1. 打开终端(Terminal)。您可以通过按Command + Space然后搜索“终端(Terminal)”来找到它。
  1. 接下来,我们将使用“sudo”或“Super User DO”运行命令。这会将命令提升到最高管理员级别。执行这些命令时 ,您可能需要输入Mac的管理员密码。(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 版):

查找 -flushcache

现在您的DNS缓存是空的,任何与缓存相关的问题都应该得到解决。如果您不知道自己拥有的 macOS 版本,请查看我拥有的 macOS版本(Version)是什么?

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

更改您的 DNS 服务器

一般来说,ISP(ISPs)会维护自己的DNS服务器,以便他们的客户在浏览网站时可以获得很好的响应。您的路由器会自动从您的ISP获取(ISP)DNS服务器地址,并且所有名称服务器请求都会发送到这些服务器。

但是,您不必简单地使用ISP提供的DNS服务器。事实上,许多ISP的(ISPs)DNS服务器都很差,所以你最好切换到通常被认为是顶级的服务器。

  1. 打开Apple 菜单(Apple Menu)并选择System Preferences

  1. 接下来,选择网络。

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

  1. 选择高级(Select Advanced),然后选择DNS选项卡。

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

您选择哪个DNS服务器取决于您,但强烈推荐使用 Cloudflare DNSGoogle 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(Smart DNS)服务,对您的互联网体验进行精细控制,甚至可以让您绕过基于位置的内容拦截。但是,大多数智能DNS服务确实需要订阅费。

检查 Mac 防火墙

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

(Set Up Custom Routing)使用主机文件(File)设置自定义路由

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

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

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

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



About the author

我是一名计算机技术人员,拥有超过 10 年的经验和使用 Android 设备的经验。过去五年我也一直在办公室工作,在那里我学会了如何使用 Office 365 和 MacOS。在业余时间,我喜欢花时间在户外听音乐或看电影。



Related posts