在某台位于 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 服务器)

举报· 515 次点击
登录 注册 站外分享
4 条回复  
by 小成 5 小时前
你的新加坡 IP 可能是被 Google 送中了 试试 129.250.35.250 129.250.35.251
infinityv 楼主 小成 5 小时前
@by 差不多就是第三点 被放在一个 AS 下了么。 这俩我试了下 和 1.1.1.1 差不多 都直接解析到 US 了。 因为 smartdns 会缓存最快的解析记录,所以感觉除非把 8.8.8.8 移掉 不然感觉一直有这个问题。好难顶 我的 SG 机器应该是套路云 SG 的节点 确实可能 AS 不干净
gentrydeng 小成 4 小时前
既然你都在用 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 是可以被设置(伪装)的。
yyzh 初学 3 小时前
g 家 dns 会送中很正常 4 条 1 如果解析到的是真位于美国的 ip 那就很不正常
返回顶部