V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
LUREN
V2EX  ›  问与答

有没有办法获得不同地区的 DNS 解析结果?

  •  
  •   LUREN · 2020-05-30 09:07:38 +08:00 · 2792 次点击
    这是一个创建于 1645 天前的主题,其中的信息可能已经有所发展或是发生改变。

    假如一个网站使用了 CDN,它有多个地区节点。在国内解析获得的是美国 IP,在香港解析获得的是香港 IP 。

    在没有香港服务器的情况下,有没有办法可以查询到香港地区的解析 IP 呢?

    手动查询可以用 https://ping.chinaz.com/ 这类网站,但我需要在 shell 脚本里自动查询。

    请问有没有一些在线 ping 网站的 api 可以使用或者其它办法可以解决这个问题?找了一圈都没有发现。。

    第 1 条附言  ·  2020-05-30 16:25:55 +08:00
    感谢大家的回复!经过测试,似乎还是要找个香港 dns 服务器来解析才行。

    使用 Google dns 和 cloudflare dns,虽然指定了 subnet 参数,但还是根据请求位置返回的。

    例如这是一个示例,它还是解析美国 IP 。

    <PRE>curl -i 'https://dns.google/resolve?name=a356.w10.akamai.net&type=a&do=1&edns_client_subnet=63.223.17.0/24'</PRE>

    如果指定一个香港 dns 服务器解析,返回就是香港 IP 了。

    <PRE>dig @210.0.255.251 a356.w10.akamai.net +subnet=63.223.17.0/24 +short</PRE>

    不知大家还有没有其它办法,或者有没有比较稳定的香港 dns 服务器分享?
    13 条回复    2020-05-30 16:17:34 +08:00
    3CH0
        1
    3CH0  
       2020-05-30 09:52:45 +08:00
    dig @223.5.5.5 www.aliyun.com +subnet=47.75.18.0
    reus
        2
    reus  
       2020-05-30 09:53:43 +08:00
    查询当地的 DNS 服务器,有些基于 https 也会有地域参数
    haimall
        3
    haimall  
       2020-05-30 09:57:08 +08:00 via Android
    haimall
        4
    haimall  
       2020-05-30 09:58:07 +08:00 via Android
    @haimall 无视我把,只看了标题
    ddefewfewf
        5
    ddefewfewf  
       2020-05-30 09:58:31 +08:00
    dnsmasq
    Jerami
        6
    Jerami  
       2020-05-30 10:20:36 +08:00 via Android
    whatismydns
    LUREN
        7
    LUREN  
    OP
       2020-05-30 11:24:07 +08:00
    @3CH0 感谢!测试有效。不过 +subnet 指定查询位置似乎不总是有效,是需要取决 dns 服务器支持吗?测试 8.8.8.8 和 1.1.1.1 不起作用,223.5.5.5 存在污染问题,有其它 dns 推荐吗?
    LUREN
        8
    LUREN  
    OP
       2020-05-30 11:24:40 +08:00
    @reus 请问有香港 dns 推荐吗?
    napsterwu
        9
    napsterwu  
       2020-05-30 12:10:37 +08:00
    napsterwu
        10
    napsterwu  
       2020-05-30 12:11:11 +08:00
    没看到要脚本,忽略我吧
    Showfom
        11
    Showfom  
       2020-05-30 12:58:04 +08:00
    dig + 一台支持 ECS 的递归 DNS 服务器即可,公共服务的话国内 223.5.5.5 国外 8.8.8.8

    你还要解决污染,又要在国内做,那就自己搭建去呗
    Livid
        12
    Livid  
    MOD
       2020-05-30 13:00:23 +08:00
    https://developers.google.com/speed/public-dns/docs/doh/json

    用 DNS-over-HTTPS 的 JSON API,里面有 edns_client_subnet 支持。
    LUREN
        13
    LUREN  
    OP
       2020-05-30 16:17:34 +08:00
    @Livid
    curl -i 'https://dns.google/resolve?name=a356.w10.akamai.net&type=a&do=1&edns_client_subnet=63.223.17.0/24'
    测试与 dig +subnet= 参数一样,虽然指定了一个香港子网,但没有解析没有返回香港 IP 。似乎还是取决 dns 服务器行为,换了一个香港 dns 就可以了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2650 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 11:46 · PVG 19:46 · LAX 03:46 · JFK 06:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.