在某台位于 SG 机器上使用的 DNS 服务器是 8.8.8.8 1.1.1.1

最近发现一些域名,比如:(域名前面代表次数 可以忽略)

通过 8.8.8.8 解析,拿到的结果是 CN 的; 通过 1.1.1.1 解析,拿到的就都是 US 的;

我的一些分析和猜测:

  • fonts.googleapis.com 这些域名本身确实在北京有节点(大概率是事实)
  • 1.1.1.1 并不支持 ECS ,所以并不会就近解析;
  • 8.8.8.8 支持 ECS ,这台 SG 机器和某些 CN 碰巧在一个自治域内。国内用户(通过国内 DNS )查询后,cdn 返回了国内的 ip ,同时这个请求被当前自治域的公共 dns 缓存。所以当国外用户查询(即使通过 8.8.8.8 )的时候,公共 dns 就直接返回了缓存的国内 ip ,从而导致这个问题。

目前感觉除了替换 DNS 8.8.8.8 没有别的方案,话说有没有适合 SG 的本地的 DNS 服务器啊。 ( smartdns 里面配置用,SG 节点供应商未提供自己的 DNS 服务器)

举报· 827 次点击
登录 注册 站外分享
7 条回复  
yyysuo 小成 3 小时前
ecs 给 vps ip 就行了。
dream0689 小成 4 小时前
楼主可以参考一下这个网站 https://publicdnsserver.com/singapore/ 根据你的机器出口选择适合你的 subnet 。网站上的 dns 地址也可以试试。我平时用来测试内地到海外运营商的路由。
dream0689 小成 4 小时前
@yyzh 我遇到过 op 说的这种 4 个 1 解析到其他地区的情况。一般是商家没有把 cf 任播类地址路由调到当地的 ix 或者运营商出口跟 cf 直接 peer ,我当时是 sg 的机器走 singtel 到了 hkix ,延时 200ms+,这种情况使用 4 个 1 很多时候解析不仅慢还会返回 hk 解析结果,后来发工单找技术支持调路由到他们的 EQX SG 路由解决问题了。不过如果 op 所说 us 解析结果是在 SG 的广播地址,那是没有问题的。
yyzh 初学 9 小时前
g 家 dns 会送中很正常 4 条 1 如果解析到的是真位于美国的 ip 那就很不正常
gentrydeng 小成 10 小时前
既然你都在用 SmartDNS 了,也知道 ECS 。那为什么不直接指定一个地理位置能被正确识别 ECS ? https://pymumu.github.io/smartdns/config/edns-client-subnet/ 发帖之前建议先自行查看程序文档来解决问题,而不是靠凭空想象。 而 1.1.1.1 不支持 ECS 不代表它就不是“就近解析”,只是依赖任播。 如果你的服务器访问 1.1.1.1 是被分配到 Cloudflare 新加坡节点。那么自然是通过 Cloudflare 新加坡节点进行 DNS 请求,这也是就近解析。 相反,支持 ECS 也不代表就是“就近解析”,因为 ECS 是可以被设置(伪装)的。
infinityv 楼主 小成 10 小时前
@by 差不多就是第三点 被放在一个 AS 下了么。 这俩我试了下 和 1.1.1.1 差不多 都直接解析到 US 了。 因为 smartdns 会缓存最快的解析记录,所以感觉除非把 8.8.8.8 移掉 不然感觉一直有这个问题。好难顶 我的 SG 机器应该是套路云 SG 的节点 确实可能 AS 不干净
by 小成 10 小时前
你的新加坡 IP 可能是被 Google 送中了 试试 129.250.35.250 129.250.35.251
返回顶部