如何在Mac上更改DNS设置

在macOS Sequoia、Sonoma和Ventura上更改DNS的分步指南。涵盖Cloudflare 1.1.1.1、Google 8.8.8.8、Quad9以及如何验证更改是否生效。

您的网络连接默认使用ISP的DNS服务器。您从未选择过它们,可能也不知道它们的地址,而且它们的速度、隐私性或安全性可能不如其他替代方案。在Mac上更改DNS大约只需两分钟,而且能带来明显的改善。

为什么要更换DNS服务器

速度。 ISP的DNS服务器通常未经过优化。Cloudflare和Google专门为低延迟而大规模运营DNS基础设施。在许多地区,切换到公共DNS解析器可以加快页面加载速度,因为连接网站时的DNS解析步骤会更快完成。

隐私。 您的DNS提供商可以看到您访问的每个域名。您ISP的DNS日志可以由其保留或出售,这取决于其隐私政策和当地法规。Cloudflare的1.1.1.1明确声明不记录查询IP地址,且该承诺经过第三方审计。

安全性。 Quad9(9.9.9.9)会将DNS查询与威胁情报数据库进行交叉核对。如果您尝试访问已知的恶意软件或钓鱼网站,Quad9会在您的浏览器建立连接之前就阻止该查询。

家长控制。 Cloudflare的1.1.1.3在DNS层面屏蔽成人内容。Google也提供类似的过滤选项。这不是完美的保护措施,但无需在设备上安装任何软件即可生效。

地理限制内容。 某些DNS提供商通往内容分发网络的路径更快。少数专业DNS服务(如NextDNS)还提供管理访问的功能。单纯更改DNS无法像VPN那样突破访问限制,但在某些情况下可以改善路由。

DNS的实际工作原理

当您在浏览器中输入域名时,Mac会询问DNS服务器该域名对应的IP地址。通常这个请求会发送到您ISP的服务器。如果您更改了DNS设置,请求就会发送到您选择的服务器。

默认情况下,此更改会影响全系统,包括所有应用和浏览器。DNS配置位于"网络"设置中,而不在任何浏览器内部。

选择哪个DNS服务器

三个公共DNS选项可满足大多数使用需求:

Cloudflare 1.1.1.1 — 通常全球速度最快,以隐私优先为政策。主DNS:1.1.1.1,备用DNS:1.0.0.1。如果需要阻止恶意软件的变体,使用1.1.1.2(主)和1.0.0.2(备用)。成人内容过滤:1.1.1.3 / 1.0.0.3

Google 8.8.8.8 — 可靠且快速,由Google基础设施支撑。主DNS:8.8.8.8,备用DNS:8.8.4.4。无内容过滤。Google会记录带有IP地址的查询,但声称在48小时后对其进行匿名化处理。

Quad9 9.9.9.9 — 专注于安全性。主DNS:9.9.9.9,备用DNS:149.112.112.112。基于威胁情报数据库屏蔽已知的恶意软件和钓鱼域名。如果您希望不费心思地获得被动防护,这是个不错的默认选择。

三者均免费且无需注册账号。对大多数用户而言,Cloudflare 1.1.1.1或Quad9 9.9.9.9是最佳起点。

如何在macOS(Sequoia和Sonoma)上更改DNS

Apple在macOS Ventura(13)中将"系统偏好设置"更名为"系统设置"。如果您使用的是Ventura、Sonoma(14)或Sequoia(15),请按以下步骤操作:

  1. 打开系统设置(从Apple菜单或Dock中打开)。
  2. 在侧边栏中点击网络
  3. 选择您的活动网络连接。如果使用Wi-Fi,点击Wi-Fi;如果使用有线连接,点击以太网
  4. 点击已连接网络旁边的详细信息按钮。
  5. 点击DNS选项卡。
  6. 在DNS服务器列表中,点击**+**按钮添加新服务器,输入主地址(例如1.1.1.1)并按回车键。
  7. 再次点击**+**,添加备用地址(例如1.0.0.1)。
  8. 如果要删除现有的ISP分配的DNS条目,选中每一条并点击**–**按钮。
  9. 点击,然后点击应用

更改会立即对新连接生效。现有的浏览器标签页可能会短暂使用缓存的DNS结果。

如何在macOS Monterey或更早版本上更改DNS

如果您仍在使用Monterey(12)或Big Sur(11),请通过"系统偏好设置"进行操作:

  1. 打开系统偏好设置
  2. 点击网络
  3. 在左侧边栏中选择您的活动网络连接。
  4. 点击高级
  5. 点击DNS选项卡。
  6. 使用**+–**按钮添加或删除DNS服务器。
  7. 点击,然后点击应用

结果相同,只是路径略有不同。

仅为特定网络更改DNS

上述设置适用于单个网络连接。如果您希望在家庭Wi-Fi和咖啡馆Wi-Fi上使用不同的DNS,请分别配置每个网络。macOS会记住每个网络的单独设置。

如果您希望有一个跟随Mac的单一DNS配置,不受网络限制,可以考虑使用NextDNS等工具,或作为后台服务运行的本地DNS解析器。这比基本的DNS更改要复杂一些。

如何验证DNS更改是否生效

保存新设置后,确认更改已实际生效。

使用终端:

dig example.com

查看输出中的SERVER:行。它应该显示您新的DNS服务器地址。如果您设置了1.1.1.1,应该看到类似SERVER: 1.1.1.1#53的内容。

或者:

nslookup example.com

输出的第一行显示所使用的服务器:Server: 1.1.1.1

使用NetUtil:

更改后,您可以打开NetUtil并运行DNS查询来验证是否生效。如果响应来自您的新解析器,说明更改已生效。NetUtil会在结果中显示响应服务器,无需学习任何终端语法即可一目了然地确认。

如果服务器仍显示ISP的地址:

尝试关闭Wi-Fi再重新打开,或断开并重新连接以太网。macOS有时会保留DHCP提供的DNS地址,直到连接刷新为止。您也可以使用以下命令刷新DNS缓存:

sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

然后再次运行dig检查。

更改DNS不能做什么

DNS不是VPN。更改DNS服务器无法:

  • 向网站隐藏您的IP地址
  • 加密您的浏览流量
  • 让您访问在IP层面被地理屏蔽的服务

如需加密DNS(防止ISP看到您正在查询哪个DNS服务器),您需要DNS over HTTPS(DoH)或DNS over TLS(DoT)。macOS没有内置的这类设置选项,您需要使用NextDNS的应用或本地代理等工具。

如需防止IP追踪,您需要VPN或Tor。仅靠DNS只能解决一小部分隐私问题。

恢复默认设置

如果更改DNS后出现问题,或者您只是想恢复原状,返回DNS设置并删除您添加的服务器。列表清空后,macOS会回退到路由器通过DHCP提供的任何DNS地址,通常是ISP的服务器。

您也可以点击并拖动DNS列表中的条目来重新排序。列表中的第一个服务器优先被查询;如果第一个不响应,则查询第二个。

关于性能的简要说明

如果您想比较不同DNS提供商的性能,dnsperf工具可以对查询时间进行基准测试。如果不想使用技术性工具,GRC的macOS应用DNS Benchmark可以对许多服务器运行定时查询,并按您所在位置的延迟对其排名。在某一地区最快的服务器在另一地区未必最快。

对大多数用户而言,Cloudflare 1.1.1.1在全球范围内测试表现良好。顶级提供商之间的差距通常在20ms以内,在日常浏览中难以感知,但在加载包含来自多个域名的大量资源的页面时,这些差距可能会累积起来。