kenxu2023
V2EX  ›  DNS

阿里 DNS 将部分存在境内节点的谷歌域名解析到境外导致无法连接

  •  
  •   kenxu2023 · Nov 6, 2025 · 5072 views
    This topic created in 193 days ago, the information mentioned may be changed or developed.

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

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


    似乎全军覆没了,连带 cn 后缀的域名也解析到了境外,何意位?
    总之在阿里 DNS 结束抽风之前,可以切换到其他 DNS 提供商解决这个问题

    11 replies    2025-11-30 19:31:47 +08:00
    basncy
        1
    basncy  
       Nov 6, 2025
    同样的域名,国服好像有删减。
    比如国服 www.bing.com 国际版的搜索结果与国际服 www.bing.com 搜索结果完全不一样。
    kenxu2023
        2
    kenxu2023  
    OP
       Nov 6, 2025
    补一嘴,本人为移动网,使用拨测工具测试发现电信和联通正常,但移动会出现这个问题
    ![]( )
    novaren
        3
    novaren  
       Nov 6, 2025 via Android
    我也遇到了,谷歌商店更新应用失败,原来是这样
    Mystery0
        4
    Mystery0  
       Nov 7, 2025 via Android
    我说昨天 gstatic.com 和 fontsapi 一过代理(分流直连)就连不上,不过代理就正常,气得我直接把这两个分流走美国了
    Somboon
        5
    Somboon  
       Nov 7, 2025
    很久之前就有这问题了吧?我一直用阿里的 DNS ,gstatic.com 直连就是时通时不通的
    sunnyday123
        6
    sunnyday123  
       Nov 7, 2025
    机场节点测速失败找到原因了
    epiphyllum
        7
    epiphyllum  
       Nov 8, 2025   ❤️ 2
    同最近遇到这个问题,排查了一下感觉可能是 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
    kenxu2023
        8
    kenxu2023  
    OP
       Nov 9, 2025
    @epiphyllum 感谢老哥细致的测试与回复,基本可以复现所说的结果。根据我的测试结果,无论是阿里云还是腾讯云还是境外的服务器,只要将 ECS IP 指定为阿里 DNS 的移动出口 IP 就一定会解析到境外,而其他 IP 则完全不受影响,看来就是谷歌权威服务器的策略问题。
    hdchieh
        9
    hdchieh  
       Nov 11, 2025
    昨天遇到了 服了。 直接给 gstatic 走代理了
    ggf
        10
    ggf  
       Nov 30, 2025
    欢迎尝试 Nova XNS 产品,https://dash.xns.one/invite/67bdd542-c279-4f36-9480-a4646e635b8b
    九折优惠码 Y5MTG2MQ 长期有效🫡
    ggf
        11
    ggf  
       Nov 30, 2025
    Nova 我用了有 1 年多了,挺好用的,而且无污染,有 15 天试用,可以体验下。如订阅 Pro 也可以用常驻优惠码。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5248 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 142ms · UTC 07:41 · PVG 15:41 · LAX 00:41 · JFK 03:41
    ♥ Do have faith in what you're doing.