如何在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),请按以下步骤操作:
- 打开系统设置(从Apple菜单或Dock中打开)。
- 在侧边栏中点击网络。
- 选择您的活动网络连接。如果使用Wi-Fi,点击Wi-Fi;如果使用有线连接,点击以太网。
- 点击已连接网络旁边的详细信息按钮。
- 点击DNS选项卡。
- 在DNS服务器列表中,点击**+**按钮添加新服务器,输入主地址(例如
1.1.1.1)并按回车键。 - 再次点击**+**,添加备用地址(例如
1.0.0.1)。 - 如果要删除现有的ISP分配的DNS条目,选中每一条并点击**–**按钮。
- 点击好,然后点击应用。
更改会立即对新连接生效。现有的浏览器标签页可能会短暂使用缓存的DNS结果。
如何在macOS Monterey或更早版本上更改DNS
如果您仍在使用Monterey(12)或Big Sur(11),请通过"系统偏好设置"进行操作:
- 打开系统偏好设置。
- 点击网络。
- 在左侧边栏中选择您的活动网络连接。
- 点击高级。
- 点击DNS选项卡。
- 使用**+和–**按钮添加或删除DNS服务器。
- 点击好,然后点击应用。
结果相同,只是路径略有不同。
仅为特定网络更改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以内,在日常浏览中难以感知,但在加载包含来自多个域名的大量资源的页面时,这些差距可能会累积起来。