文章摘要
macOS 26版本存在一个bug,导致系统无法正确解析/etc/resolver/目录下配置的自定义顶级域名(TLD)的DNS记录,影响了补充DNS功能的正常使用。
文章总结
macOS 26 系统破坏自定义顶级域名的 /etc/resolver/ 辅助 DNS 功能
问题报告:macOS 26 系统更新后,/etc/resolver/ 目录下配置的辅助 DNS 解析功能对自定义顶级域名(TLD)失效。
问题概述
- 影响范围:macOS 26.3.1 版本(Darwin 25.3.0)
- 问题表现:对于非 IANA 根域注册的自定义 TLD(如
.internal、.test等),mDNSResponder会将其视为 mDNS(组播 DNS)请求,而不再遵循/etc/resolver/中配置的 DNS 服务器。 - 历史表现:此功能在 macOS 25 及更早版本中工作正常。
技术背景
macOS 长期支持通过 /etc/resolver/ 目录下的文件配置针对特定域名的 DNS 解析。例如,/etc/resolver/internal 文件中配置 nameserver 127.0.0.1 可将所有 *.internal 域名查询指向本地 DNS 服务器。此机制在 man 5 resolver 中有文档说明,并被广泛用于本地开发环境(如 dnsmasq、Docker 等工具)。
复现步骤
- 配置 dnsmasq 解析自定义域名(如
probe.example-private)。 - 在
/etc/resolver/中创建对应解析文件。 - 刷新 DNS 缓存后,发现
ping、curl等工具无法解析该域名。 - 通过
tcpdump抓包确认请求未到达本地 DNS 服务器。
影响范围
受影响的 TLD 包括:
- .internal(IETF 草案专用域名)
- .test(RFC 6761 明确保留用于测试)
- .home.arpa(RFC 8375 保留)
- 其他非 IANA 注册的私有域名(如 .lan)
值得注意的是,.test 域名本应通过常规 DNS 解析,但 macOS 26 错误地将其视为 mDNS 专用。
临时解决方案
目前唯一可靠的解决方法是直接修改 /etc/hosts 文件,但这对动态环境(如 Docker)不友好。
影响群体
此问题会影响以下场景: - 使用 dnsmasq 等工具进行本地开发的开发者 - Docker 容器名称解析 - Kubernetes 本地开发工具(如 minikube) - 依赖自定义 TLD 的 VPN 工具
环境信息
- 系统版本:macOS 26.3.1(Apple Silicon)
- 相关软件:Homebrew 安装的 dnsmasq
- 验证工具:
dig可工作,但系统工具(如ping)失败
参考资料
man 5 resolver- RFC 6761(特殊用途域名)
- RFC 8375(
home.arpa域名)
(注:原文中关于 GitHub 界面操作和用户评论的部分已省略,仅保留技术内容核心)
评论总结
以下是评论内容的总结:
1. 对macOS的批评
认为macOS存在技术缺陷,如端口占用、密钥删除问题,整体显得"业余"
"Port :8080 is occupied... The whole macOS thing is amateur" (Congee)
"unable to delete a private key in Keychain Access" (Congee)指出系统更新破坏了原有功能(如DNS配置、Safari cookie删除)
"broke removing Safari cookies on a per website basis" (Razengan)
"they finally killed that feature off" (binaryturtle)
2. 用户转向其他系统
- 部分用户因系统问题转向Linux/FreeBSD
"Papercuts like this are why I moved away from macOS" (mrbuttons454)
"I want their silicon, but I will never use their (arguably terrible) operating system" (himata4113)
3. 技术解决方案讨论
提供DNS配置的替代方案(scutil/dnsmasq/PiHole)
"use scutil directly... stored in some binary plist" (binaryturtle)
"Solved this... with New-UnboundInterface.sh" (justsomehnguy)推荐PiHole进行DNS拦截
"love my PiHole hardware... intercept hard-coded-IP DNS" (ProllyInfamous)
4. 对macOS设计的肯定
- 有用户认为macOS UX设计仍具优势
"MacOS felt relatively polished... Gnome themes are a re-impl of MacOS" (ramon156)
5. 其他观点
- 对LLM生成错误报告的担忧
"don't love the use of LLMs to write these bug reports" (mrbuttons454) - 指出.localhost无需额外配置即可使用
*".localhost works out of the box" (JimDabell)*
(注:原文评论均无评分数据,故未体现认可度指标)