感谢回复,方向有帮助,但有三点用实测日志能更正,供参考(均为 watchOS 27.0.1 / iOS 27.0.1,同一配对):
一、"iPhone 侧路由/代理拦截"这条不成立
我抓了 iPhone 侧 sysdiagnose(20:22):
Primary IPv4 = en0 / 192.168.0.112
DNS Addresses = 192.168.0.252、114.114.114.114、fe80::1
默认路由 = 192.168.0.252 → en0
连通性自检:ping 路由器 ✅ ping DNS ✅ 解析 captive.apple.com ✅
route get www.apple.com → 183.250.178.8 ✅
iPhone 自己的 DNS 与上网完全正常,没有 VPN 描述文件,NetworkExtension 里也没有代理配置。
二、手表侧是先建立伴生链路并借道成功,卡在"解析器没传过来"
手表侧(19:40,Wi-Fi 关闭):
logs/NetworkRelay/companion_link_status_watch.txt
Primary Link: [1, PRIMARY, Bluetooth(P), Ready, ipsec1, Bluetooth, iPhone]
resolver keys: { } ← 空
Prefer Wi-Fi request: NO
WiFi/ifconfig.txt 里 ipsec1 的定义:
type: Companion Link Bluetooth (0x1)
functional type: companionlink
agent … type:CompanionProxy desc:"CompanionProxy via iPhone"
WiFi/network_status.txt → DNS Addresses: None
logs/Networking/route-info.txt → route: bad address: www.apple.com
WiFi/diagnostics-connectivity.txt → Could not resolve 'captive.apple.com'
即:链路是 Ready、借道是成立的(默认路由确实走在 ipsec1 上),
但链路没有向手表提供任何 DNS 解析器,手表自身 DNS 也是 None。
三、关键对照:iPhone 侧 resolver keys 同样是空的
iPhone 侧 logs/NetworkRelay/companion_link_status_phone.txt:
Companion link is currently enabled
NRDLD[…8BD12814…] name "Zhe的Apple Watch" registered, enabled,
Has Authenticated Using Identity: YES
SOCKS port: 62742 / SOCKS server: [SP1 SHOES]
Link Manager - Bluetooth State: Ready(ipsec5)
Link Manager - WiFi [17, PRIMARY, WiFi(Ifr), Ready, ipsec8,
192.168.0.112:0 -> 192.168.0.26:57878]
resolver keys: { } ← 手机侧也是空
对比:手表 Wi-Fi 打开时(17:01)DNS = 192.168.0.252 / 114.114.114.114 / fe80::1,
Prefer Wi-Fi request: YES,全部自检通过、route get 正常返回。
所以定位到的环节是:iPhone 有可用 DNS,但这条 Companion Link 没有把解析器传递给手表;
而不是"iPhone 侧路由/代理拦了请求"。(另外手表侧并无第三方代理 App,只有系统 nesessionmanager / nehelper / networkserviceproxy。)
四、关于你给的建议
"重置 iPhone 网络设置"我已试过,无效 —— 与上述机制一致:解析器根本没在链路上注册,
不是本机路由表损坏。手表 Wi-Fi 关闭时链路本身是通的,这也不是"桥接中断"。
五、想再请教(或供其他遇到的人参考)
1) 你了解 iOS 27 / watchOS 27 上 Companion Link(NetworkRelay)是否应当向手表提供 DNS 解析器吗?
还是说它设计上只承载部分服务、不提供通用上网 DNS?
2) 如果是设计限制,有没有用户侧可行的规避方式(watchOS 无手动配置 DNS 的入口)?
目前我的绕行办法是保持手表 Wi-Fi 常开,或让手表连 iPhone 个人热点。
我已按建议抓了三份 sysdiagnose(手表故障态 / 手表正常态 / iPhone 对照)并准备提交 Feedback,
如果你需要我也把关键行贴上来。