Dnspod 附带国内 edns 时,但有时候仍然会解析到国外的 cdn 节点 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
loukky
V2EX    DNS

Dnspod 附带国内 edns 时,但有时候仍然会解析到国外的 cdn 节点

  •  
  •   loukky 2022-03-26 00:09:57 +08:00 4399 次点击
    这是一个创建于 1371 天前的主题,其中的信息可能已经有所发展或是发生改变。

    使用的 adguard ,已经开启 edns 选项。上游设置为 dot.pub 。机器在国外
    www.jd.com 为例。
    如图:
    正确解析到国内 CDN: 不正确解析到了国外 CDN: @johnjiang85 麻烦反应下相关同学

    14 条回复    2022-04-06 10:40:07 +08:00
    ZE3kr
        1
    ZE3kr  
       2022-03-26 08:41:47 +08:00 via iPhone
    大多数权威 DNS 的 edns 有设置白名单,只有 Google 、114 等常用 DNS 请求才认 edns ,自己搭建的 dns (非权威)解析服务器的 edns 是被忽略的。
    ZE3kr
        2
    ZE3kr  
       2022-03-26 08:50:31 +08:00
    https://gist.github.com/ZE3kr/210fc3bc6a1318ef1e60d15cbe38119c

    破案了,是 JD 的权威服务器不支持 ENDS 。这个锅 DNSPod 不背
    loukky
        3
    loukky  
    OP
       2022-03-26 09:37:50 +08:00 via Android
    @ZE3kr 但大部分时候是正常的,包括使用谷歌 DNS 解析
    johnjiang85
        5
    johnjiang85  
       2022-03-26 20:46:34 +08:00
    DNSPod 目前的 DoT 解析结果完全以权威返回结果为准,国内下周将切换到正式环境
    johnjiang85
        6
    johnjiang85  
       2022-03-26 20:51:24 +08:00
    正式环境的 120.53.53.53 和 1.12.12.12 将增加一层缓存,谷内到省级运营商,国外到国家级,对于普通域名不会再按照网段缓存结果,即同时受 dot.pub 和权威的 IP 库准确度影响。
    海外的切换会晚一些时间,未切换前还是完全以权威返回为准,按照网段缓存结果,完全依赖于权威的 IP 库准确度,如果权威的 IP 库不准,那就会解析错误。
    国内目前的权威 DNS IP 库准确度比较高的是我们 DNSPod 和 51dns ,部分对比结果可以参照公众号“老高的互联网杂谈”
    johnjiang85
        7
    johnjiang85  
       2022-03-26 21:03:25 +08:00
    京东的权威 DNS 对 ECS 的只是不完整或不同服务器数据不一致,可以看以下返回,有时候可以返回非 0 的 scope mask ,有时候返回 0 的 scope mask ,0 表示不支持 ecs 或者没有分线路解析,解析结果将按照全局缓存。

    dig @ns1.jdcache.com www.jd.com +subnet=119.6.6.6

    ; <<>> DiG 9.10.6 <<>> @ns1.jdcache.com www.jd.com +subnet=119.6.6.6
    ; (1 server found)
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 59784
    ;; flags: qr aa rd; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
    ;; WARNING: recursion requested but not available

    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 4096
    ; CLIENT-SUBNET: 119.6.6.6/32/24
    ;; QUESTION SECTION:
    ;www.jd.com. IN A

    ;; ANSWER SECTION:
    www.jd.com. 120 IN CNAME www.jd.com.gslb.qianxun.com.
    www.jd.com.gslb.qianxun.com. 60 IN CNAME www.jdcdn.com.
    www.jdcdn.com. 720 IN CNAME img20.360buyimg.com.s.galileo.jcloud-cdn.com.

    ;; Query time: 114 msec
    ;; SERVER: 111.13.28.10#53(111.13.28.10)
    ;; WHEN: Sat Mar 26 21:00:02 CST 2022
    ;; MSG SIZE rcvd: 168

    dig @ns1.jdcache.com www.jd.com +subnet=119.6.6.6

    ; <<>> DiG 9.10.6 <<>> @ns1.jdcache.com www.jd.com +subnet=119.6.6.6
    ; (1 server found)
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45079
    ;; flags: qr aa rd; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
    ;; WARNING: recursion requested but not available

    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 4096
    ; CLIENT-SUBNET: 119.6.6.6/32/0
    ;; QUESTION SECTION:
    ;www.jd.com. IN A

    ;; ANSWER SECTION:
    www.jd.com. 120 IN CNAME www.jd.com.gslb.qianxun.com.
    www.jd.com.gslb.qianxun.com. 60 IN CNAME www.jdcdn.com.
    www.jdcdn.com. 720 IN CNAME img20.360buyimg.com.s.galileo.jcloud-cdn.com.

    ;; Query time: 124 msec
    ;; SERVER: 111.13.28.10#53(111.13.28.10)
    ;; WHEN: Sat Mar 26 21:00:11 CST 2022
    ;; MSG SIZE rcvd: 168
    johnjiang85
        8
    johnjiang85  
       2022-03-26 21:09:26 +08:00
    当某个海外的 IP 先请求了该域名,且返回了海外的结果之后,如果返回的 scope mask 为 0 ,即作为全局缓存,那么后面其他的任意 Ip 再请求也都会拿到海外的结果,权威的错误返回如下所示(。-> .)。

    dig @ns1 。jdcache 。com www 。jd 。com +subnet=8 。8 。8 。8

    ; <<>> DiG 9 。10 。6 <<>> @ns1 。jdcache 。com www 。jd 。com +subnet=8 。8 。8 。8
    ; (1 server found)
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50719
    ;; flags: qr aa rd; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
    ;; WARNING: recursion requested but not available

    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 4096
    ; CLIENT-SUBNET: 8 。8 。8 。8/32/0
    ;; QUESTION SECTION:
    ;www 。jd 。com 。 IN A

    ;; ANSWER SECTION:
    www 。jd 。com 。 120 IN CNAME www 。jd 。com 。gslb 。qianxun 。com 。
    www 。jd 。com 。gslb 。qianxun 。com 。60 IN CNAME jd-abroad 。cdn20 。com 。

    ;; Query time: 137 msec
    ;; SERVER: 111 。13 。28 。10#53(111 。13 。28 。10)
    ;; WHEN: Sat Mar 26 21:05:49 CST 2022
    ;; MSG SIZE rcvd: 119
    loukky
        9
    loukky  
    OP
       2022-03-27 00:35:13 +08:00
    @johnjiang85 所以等 dnspod 国外版更新以后,这个错误的缓存就会得到解决了吗?
    johnjiang85
        10
    johnjiang85  
       2022-03-27 09:36:39 +08:00
    @loukky 可以解决。但是只是顺带的,毕竟这不是 dot.pub 的问题,是京东权威的问题。
    loukky
        11
    loukky  
    OP
       2022-03-27 20:03:07 +08:00
    @johnjiang85 其实不仅仅是京东的域名出现这个问题,谷歌的也会。我觉得你们要缓存的话应该以分成以国内和国外的结果分别缓存。而且像请求的时候附带子网这种应该还是比较好来分开缓存的
    bclerdx
        12
    bclerdx  
       2022-04-05 22:24:46 +08:00
    @johnjiang85 您说的 scope mask 非 0 和 0 是是指您这段命令中的:CLIENT-SUBNET: 119.6.6.6/32/24 和 CLIENT-SUBNET: 119.6.6.6/32/0 中的 [/24 ,即非 0] 和 [/0 ,即 0]

    您说的:只是,应该是支持吧?

    以上我的理解没有错误吧?

    另外,啥叫:按照全局缓存?没有理解这层含义?麻烦童学解释一下,谢谢。
    bclerdx
        13
    bclerdx  
       2022-04-05 22:28:04 +08:00
    @johnjiang85 现在是不是已经切刀了正式环境了?
    johnjiang85
        14
    johnjiang85  
       2022-04-06 10:40:07 +08:00
    @bclerdx 可以看下 ECS 的 RFC 或者 Google 的开发者文档,返回 scope mask 为 0 表示匹配后续所有网段过来的请求,即任何 IP 过来请求都可以直接应答,就相当于没有设置分线路解析。

    doh 国内已经切换了大部分,dot 暂时还没有,这几天吧。海外切换还没有具体时间。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2697 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 11:46 PVG 19:46 LAX 03:46 JFK 06:46
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86