V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Livid
V2EX  ›  DNS

使用 CloudFlare 1.1.1.1 DNS over HTTPS 的一个例子

  •  2
     
  •   Livid · 2018-04-03 19:08:48 +08:00 · 21726 次点击
    这是一个创建于 2187 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如果你用 curl:

    curl "https://1.1.1.1/dns-query?ct=application/dns-json&name=example.com&type=A"
    

    那么可以得到这样的结果:

    {"Status": 0,"TC": false,"RD": true, "RA": true, "AD": true,"CD": false,"Question":[{"name": "example.com.", "type": 1}],"Answer":[{"name": "example.com.", "type": 1, "TTL": 2774, "data": "93.184.216.34"}]}
    

    更多具体细节可以看 CloudFlare 的文档:

    https://developers.cloudflare.com/1.1.1.1/dns-over-https/

    关于 DNS over HTTPS 的 JSON 格式的具体说明可以见 Google 的文档:

    https://developers.google.com/speed/public-dns/docs/dns-over-https

    30 条回复    2018-04-11 09:18:43 +08:00
    mashirozx
        1
    mashirozx  
       2018-04-03 19:18:22 +08:00 via Android
    emmmm,所以需要网站支持吗?🤔
    loginv2
        2
    loginv2  
       2018-04-03 19:30:04 +08:00 via Android
    这是给客户端用的?
    Livid
        3
    Livid  
    MOD
    OP
       2018-04-03 19:33:40 +08:00
    @loginv2 对。相信很快就会有各种 HTTP 客户端库跟进。

    这是在 Firefox 上启用 DNS over HTTPS 的方法:

    https://www.v2ex.com/t/444059
    linshixiong
        4
    linshixiong  
       2018-04-03 20:20:53 +08:00
    redsonic
        5
    redsonic  
       2018-04-03 20:34:14 +08:00   ❤️ 1
    @linshixiong

    cloudflare 官方还在 userguide 里面推荐了 dnscrypt-proxy 2.0
    https://github.com/jedisct1/dnscrypt-proxy/releases

    2.0 用 go 重写了,所以直接发布静态编译版本了,没有比这个更简单了。
    wzw
        6
    wzw  
       2018-04-03 23:11:46 +08:00 via iPhone
    @redsonic #5 第一次看到,直接用?看来我得试试,可以防污染吧
    kmahyyg
        7
    kmahyyg  
       2018-04-04 00:03:47 +08:00 via Android
    正在想为什么没人搞 DNS over TLS,我压 DoT
    bazingaterry
        8
    bazingaterry  
       2018-04-04 02:35:13 +08:00 via iPhone
    感覺 1.1.1.1 的 443 端口在某些地區要準備被雙向 RST 了。
    Livid
        9
    Livid  
    MOD
    OP
       2018-04-04 02:40:32 +08:00
    @bazingaterry 他们其实在国内有服务器。
    techyan
        10
    techyan  
       2018-04-04 03:05:48 +08:00
    @Livid 没有。CloudFlare 的 China Network 跟其他国家都是分开的。其他国家是把 IP 给 Anycast 到 CloudFlare 的数据中心,但在中国是直接用的百度云加速来分区解析。1.1.1.1 和 1.0.0.1 能 Anycast 到中国大陆的百度云节点,可能性几乎为零。
    Livid
        11
    Livid  
    MOD
    OP
       2018-04-04 03:24:10 +08:00
    @techyan 在中国某些地区只有 10ms 左右的延迟:

    http://ping.chinaz.com/1.1.1.1
    redsonic
        12
    redsonic  
       2018-04-04 04:39:19 +08:00
    @wzw arm ,mips ,x86 亲测都是直接用。只是 mips 的静态程序跑在本来内存就不大的路由器上有点压力。用了几天没发现劫持,另外它还支持域名黑名单和缓存,和 1.x 版相比简直是进步巨大。
    luminous
        13
    luminous  
       2018-04-04 06:51:00 +08:00 via Android
    @Livid 那是因为有的地方 1.1.1.1 被 isp 使用了 相当于被劫持了
    Monstercat
        14
    Monstercat  
       2018-04-04 06:54:40 +08:00 via Android
    @Livid 8.8.8.8 在中国某些地区还不到 10ms 延迟
    realpg
        15
    realpg  
       2018-04-04 09:10:35 +08:00   ❤️ 1
    @Livid #11
    中国有很多 1.1.1.1 ……
    各种 demo 配到了路由 loopback 上做模拟上线测试,然后上生产环境就忘了摘下来,然后被 ospf 广播到运营商大网
    kmahyyg
        16
    kmahyyg  
       2018-04-04 09:28:25 +08:00 via Android
    @bazingaterry 正解,我这走 TLS,日常 Reset ……不得不配多个上游轮换
    torbrowserbridge
        17
    torbrowserbridge  
       2018-04-04 09:34:53 +08:00
    这个可以。
    n1dragon
        18
    n1dragon  
       2018-04-04 10:23:05 +08:00 via iPhone
    不知道 DoH 性能怎样,昨天试了下 DNS over TLS,发现速度太慢,解析个网站要 5 秒以上。
    linshixiong
        19
    linshixiong  
       2018-04-04 10:53:58 +08:00
    深圳电信 ping 1.1.1.1 延时竟然有 160ms,没法接受,我现在的做法是在香港阿里云上部署 DoH 服务器将 dns 转发道 1.1.1.1,本地使用 DoH 代理将 dns 包通过 HTTPS 转发到阿里云,dns 解析时间大约是 25ms
    flowfire
        20
    flowfire  
       2018-04-04 14:09:24 +08:00
    我只想知道为什么能给 ip 签证书。。。。
    vibbow
        21
    vibbow  
       2018-04-04 14:12:35 +08:00
    @flowfire #20 如果你有 IP 的所有权,是可以给 IP 签发证书的
    yexm0
        22
    yexm0  
       2018-04-04 14:25:22 +08:00 via iPhone
    YIem
        23
    YIem  
       2018-04-04 14:32:14 +08:00
    延迟高的要死,ping370ms 还丢包, 我输入 baidu.com 居然跳 http://activity.sifuhe.cn , 可能是我用假的 1.1.1.1 吧
    gy911201
        24
    gy911201  
       2018-04-04 14:39:28 +08:00
    我在 GCE 的台湾节点 ping 都有 100ms+ 的延迟,但是听说 HK 的机器却很低?
    techyan
        25
    techyan  
       2018-04-04 14:54:44 +08:00
    没试的就别想着试了,这玩意在中国就是减速的。本质上它就是 CloudFlare,只不过把自家的数据中心拿出来当公共 DNS 罢了。国内用 CloudFlare 速度本来就慢得一笔,电信跟 CF 的洛杉矶虽然直连但效果也不好,并且延迟上 150ms 是常态。联通走 GTT,遇到抽风的话能持续几分钟都完全连不上。移动走香港还强点。并且就算用上了,它对 CDN 之类分区解析的结果也都不好,最后结果还是减速。抱怨延迟高什么的一点意思都没有,在国内这玩意就不可能好用。
    kwkwkkk
        26
    kwkwkkk  
       2018-04-04 14:55:41 +08:00
    深圳移动到 1.1.1.1 和 8.8.8.8 都是 15ms 以内的延迟。。。
    JanKinAn
        27
    JanKinAn  
       2018-04-04 16:35:25 +08:00

    1.1.1.1 ping 通 4 毫秒 路由追踪能到 cf 不能 dns 查询
    1.0.0.1 ping 通 150 毫秒 路由追踪没有出国 却可以 dns 查询
    玄学!!!
    yyyyyyyhb
        28
    yyyyyyyhb  
       2018-04-05 00:32:25 +08:00
    @JanKinAn 劫持了啊
    tsing
        29
    tsing  
       2018-04-06 16:34:16 +08:00 via iPhone
    cloudflared --proxy-dns --proxy-dns-upstream https://1.1.1.1/dns-query
    taobibi
        30
    taobibi  
       2018-04-11 09:18:43 +08:00
    @yyyyyyyhb 现在 DNS 劫持真可怕
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2820 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 13:24 · PVG 21:24 · LAX 06:24 · JFK 09:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.