关于 DNS 根据用户 IP 进行解析优化的问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jinliming2
V2EX    DNS

关于 DNS 根据用户 IP 进行解析优化的问题

  •  
  •   jinliming2 2019-08-16 00:03:36 +08:00 9299 次点击
    这是一个创建于 2250 天前的主题,其中的信息可能已经有所发展或是发生改变。

    以前就知道很多 DNS 服务器都有解析优化的功能,好像是利用的 ECS 技术,会根据用户的 IP 解析返回不同的 IP 地址,比如北京联通就返回距离北京联通最近的 IP,而深圳电信就返回距离深圳电信最近的 IP。

    于是就想测一下这个功能,现在拥有三个不同地方的 VPS,也就是有三个不同地方的 IP,分别在北京、香港和美国。 分别用这三个 IP 去解析淘宝的域名:taobao.com ,但是发现不管是在北京还是香港还是美国,解析到的 IP 都只有两个固定的:140.205.220.96 (上海)、140.205.94.189 (杭州),貌似没有办法根据用户的 IP 来区别解析。 但是分别用这三个 IP 去解析带 www 的淘宝域名:www.taobao.com ,就发现可以正常区别解析了:在北京解析到 110.249.197.237 (石家庄)、121.18.239.232 (保定)等,在香港解析到 47.246.16.234 (香港)、47.246.16.233 (香港),在美国解析到 47.246.25.234 (洛杉矶)、47.246.25.233 (洛杉矶)。

    还测试了其他在全球都有服务的域名,都是类似的情况,不带 www 的域名没办法区别解析,只有带 www 或其他子域名的才可以。

    所以问题来了:是因为某种规则限制了一级域名的优化解析吗?还是单纯的就是他们没有对一级域名进行配置(感觉不太可能)?还是因为我测试的问题?

    13 条回复    2019-09-10 17:15:32 +08:00
    unixeno
        1
    unixeno  
       2019-08-16 00:16:13 +08:00 via Android
    应该是就配了这俩 ip
    cnrting
        2
    cnrting  
       2019-08-16 00:22:53 +08:00 via iPad
    肯定是只配了 ip,跟 Baidu 一
    Yourshell
        3
    Yourshell  
       2019-08-16 00:26:21 +08:00 via iPhone
    anycast
    gamexg
        4
    gamexg  
       2019-08-16 00:28:32 +08:00
    CNAME 和 MX 冲突。


    ```
    gamexg@DESKTOP:/mnt/c/Users/gamexg$ dig www.taobao.com

    ; <<>> DiG 9.11.3-1ubuntu1.1-Ubuntu <<>> www.taobao.com
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37149
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1

    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 4096
    ;; QUESTION SECTION:
    ;www.taobao.com. IN A

    ;; ANSWER SECTION:
    www.taobao.com. 330 IN CNAME www.taobao.com.danuoyi.tbcache.com.
    www.taobao.com.danuoyi.tbcache.com. 30 IN A 150.138.97.231
    www.taobao.com.danuoyi.tbcache.com. 30 IN A 150.138.97.232
    www.taobao.com.danuoyi.tbcache.com. 30 IN A 150.138.180.219

    ;; Query time: 24 msec
    ;; SERVER: 192.168.105.1#53(192.168.105.1)
    ;; WHEN: Fri Aug 16 00:26:40 CST 2019
    ;; MSG SIZE rcvd: 136

    gamexg@DESKTOP-OMIKD5P:/mnt/c/Users/gamexg$ dig taobao.com

    ; <<>> DiG 9.11.3-1ubuntu1.1-Ubuntu <<>> taobao.com
    ;; global options: +cmd
    ;; Got answer:
    ;;->>HEADER<<- opcode: QUERY, status: NOERROR, id: 47195
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 4096
    ;; QUESTION SECTION:
    ;taobao.com. IN A

    ;; ANSWER SECTION:
    taobao.com. 165 IN A 140.205.94.189
    taobao.com. 165 IN A 140.205.220.96

    ;; Query time: 15 msec
    ;; SERVER: 192.168.1.1#53(192.168.1.1)
    ;; WHEN: Fri Aug 16 00:26:46 CST 2019
    ;; MSG SIZE rcvd: 71

    gamexg@DESKTOP:/mnt/c/Users/gamexg$

    ```
    cnrting
        5
    cnrting  
       2019-08-16 00:33:30 +08:00 via iPad
    @Yourshell 不是,就一返回 302 的裸,anycast 真心浪
    Lax
        6
    Lax  
       2019-08-16 00:33:44 +08:00
    CDN 主要用到 CNAME,而 CNAME 与 MX 冲突(有条件)。
    因此大流量大业务都会尽量采用二级域名以利用 CDN。
    国内 anycast 不方便用。
    moult
        7
    moult  
       2019-08-16 01:03:58 +08:00
    打开 taobao.com 的时候,只需要返回一个 302 跳转到 www 就完事了,没必要上 CDN。
    当然,CNAME 和 MX 记录不能共存,也是一个原因。
    bclerdx
        8
    bclerdx  
       2019-08-16 01:23:14 +08:00
    @Lax 说的对,加上 www 是万维网。
    phxsuns
        9
    phxsuns  
       2019-08-16 14:29:49 +08:00
    taobao.com 是有 MX 记录的,所以没法做 CNAME。
    jinliming2
        10
    jinliming2  
    OP
       2019-08-16 19:41:30 +08:00 via iPhone
    大概看了一下 cname 的规范,感觉好霸道啊……
    不过大概懂了,是因为要配其他记录,所以一级域名不做 CDN,通过跳转到 www 让用户走 CDN。
    结贴。
    所以理论上,地址栏手输域名访问的话,直接输入 www 域名更快?要是一级域名太远访问太慢,用 www 即可解决?
    wwbfred
        11
    wwbfred  
       2019-08-21 01:02:52 +08:00
    除了像 Google 那样一个 IP 通吃所有服务的网站,大多数站点都不为一级域名做就近解析,因为提供的服务基本就是一个 301.
    mytsing520
        12
    mytsing520  
    PRO
       2019-09-10 17:06:48 +08:00
    第一,taobao.com 不是主要流量汇聚点,主流量在 www.taobao.com
    第二,为满足备案合规,将 taobao.com 解析到绑定了备案的 IP 地址;
    第三,这种做法中央 ZF 机构网站,或百度、新浪等大型门户网站也是这么玩的。
    mytsing520
        13
    mytsing520  
    PRO
       2019-09-10 17:15:32 +08:00
    12 楼观点的补充:
    第四,主域名也可以设置为解析,但关闭 web 端口;毕竟接入商和管局查备案关系只是查解析,不会去尝试访问。

    为了增强我的观点,我给几个示例,如下:
    baidu.com ,220.181.38.148 、39.156.69.79
    sohu.com ,220.181.90.62 、123.125.116.28 、221.179.177.36
    ifeng.com ,123.103.122.24
    sina.com.cn ,123.126.55.41 、123.126.157.222
    163.com ,123.58.180.7、123.58.180.8
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5249 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 05:44 PVG 13:44 LAX 22:44 JFK 01:44
    Do have faith in what you're doing.
    ubao 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