起因是 Clash 做了 DNS 分流,direct 这个 Ruleset 中的域名指定使用 223.5.5.5 和 223.6.6.6 解析
今天下午在谷歌商店更新应用的时候发现异常,表现为点击更新后一直转圈直至更新失败,立刻开始怀疑 DNS 解析的问题(毕竟之前就有过类似的问题)。通过抓取日志发现 connectivitycheck.gstatic.com 域名连接超时,在 Ruleset 中搜索果然发现有这个域名,手动 dig 查询试试:

不知为何阿里 DNS 将其解析到了境外地址(之前是正常的),而腾讯 DNS 则是正常的。142.250.0.0/16 这个 IP 段已被墙,自然无法直连。
顺藤摸瓜测试部分其他存在境内节点的谷歌域名的解析结果:


似乎全军覆没了,连带 cn 后缀的域名也解析到了境外,何意位?
总之在阿里 DNS 结束抽风之前,可以切换到其他 DNS 提供商解决这个问题
1
basncy 1 天前
|
2
kenxu2023 OP |
3
novaren 1 天前 via Android
我也遇到了,谷歌商店更新应用失败,原来是这样
|
4
Mystery0 1 天前 via Android
我说昨天 gstatic.com 和 fontsapi 一过代理(分流直连)就连不上,不过代理就正常,气得我直接把这两个分流走美国了
|
5
Somboon 1 天前
很久之前就有这问题了吧?我一直用阿里的 DNS ,gstatic.com 直连就是时通时不通的
|
6
sunnyday123 1 天前
机场节点测速失败找到原因了
|
7
epiphyllum 9 小时 4 分钟前
同最近遇到这个问题,排查了一下感觉可能是 Google 的权威 DNS 解析器的锅,似乎 Google 的 DNS 服务器对阿里云和中国移动的配置存在错误的“特殊关照”🤔
=== 排查思路&流程: 1. 众所周知权威 DNS 解析器一般通过递归解析器的出口 IP / EDNS Client Subnet 判断访客地理位置,于是我们可以找一个 dnslog 服务来抓一下阿里云递归解析器的出口 IP 。用 itdog 的拨测工具查询一下随机分配的域名,可以抓到以下 IP: ![]() 2. 这个 dnslog 似乎不能翻页(),就拿图中测试发现有问题的山西太原移动为例 ![]() 用它的 183.201.217.0/24 作为 Client Subnet ,用国内移动的网络对 ns1.google.com 直接发起查询: dig @ns1.google.com connectivitycheck.gstatic.com A +subnet=183.201.217.0/24 +norec ![]() ns1.google.com 返回了美国 Google 的 142 开头的 IP 。这样直接请求的过程完全没经过阿里的服务器处理,暂时可以排除 alidns 的嫌疑了。 3. 起一个 Cloudshell 从阿里云的服务器上请求一次,还是同样的结果。 ![]() 但是把 EDNS 里的客户端子网换成一个“干净的 IP 段”就能得到正确响应,例如我们这里用 sx.10086.cn 的 IP 地址试一下,可以看到 Google 返回了国内的 CDN: dig @ns1.google.com connectivitycheck.gstatic.com A +subnet=183.203.36.0/24 +norec ![]() (其它国内 IP 也行,哪怕 1.14.5.14/32 也可以 ( dig @ns1.google.com connectivitycheck.gstatic.com A +subnet=1.14.5.14/32 +norec 4. 更神奇的来了,在腾讯云上请求 ns1.google.com 时,即使 EDNS Client Subnet 里填写“不干净的 IP”也能得到正确结果(这里换成电信/联通应该也可以,实测联通没问题): ![]() ===== 总结: - 对于此类有国内 CDN 加速的 Google 服务,Google 的权威 DNS 服务器在遇到“阿里 DNS 查询上游所用的部分中国移动出口 IP 地址”时,会错误地返回国际 CDN IP 。 - 在内地使用腾讯云/中国联通/中国电信的 IP 或网络对 Google 的 DNS 服务器发起查询似乎不受影响。 - 该问题理论上与劫持无关,因为使用海外测试服务器可以得到与境内阿里云/中国移动类似的结果。 ====== 解决方法: 如果要继续使用阿里 DNS ,可以对客户端进行配置,为 AliDNS 配置一个 EDNS Client Subnet (阿里的公共递归 DNS 会转发 Client Subnet )。 mihomo 的配置方法见如下文档: https://wiki.metacubex.one/config/dns/#_1 sing-box 的配置方法见如下文档: https://sing-box.sagernet.org/migration/#__tabbed_1_13 https://sing-box.sagernet.org/zh/configuration/dns/rule_action/#client_subnet (若要兼顾就近 CDN 调度与隐私,EDNS Client Subnet 的值一般可以随便填写一个同市/省会的 IP |