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

临时搭了一个 dns-over-https 测试

  •  1
     
  •   qyb · 2018-07-24 00:18:43 +08:00 · 17834 次点击
    这是一个创建于 2334 天前的主题,其中的信息可能已经有所发展或是发生改变。
    服务现在在 vultr 东京机房,从北京联通宽带大概 200ms 延时。firefox 61 以上版本可在 about:config 里尝鲜配置了( network.trr.mode=2;network.trr.uri=https://dns.rubyfish.cn/dns-query )

    目前如果 DNS 能正确解析,访问中文维基或 medium.com 是没问题的

    下一步的计划是把 dns-over-tls 也跑起来,用手头的 Android P 测试通过

    然后再搬回国内正式提供服务吧~~
    第 1 条附言  ·  2018-08-10 12:11:17 +08:00
    dns.rubyfish.cn 挪到阿里云的某杭州节点了... 从北京 ping 过去 30ms 左右;还没有开启 EDCS ; https://bitbucket.org/qyb/offwall/src/master/poisoning.domain 里的域名丢给 1.1.1.1 解析,目前有 70 左右个维护中的域名;其它的域名丢给 223.5.5.5 ; DOT/DOH 都支持;正在申请网站备案。。。
    第 2 条附言  ·  2018-08-29 15:12:50 +08:00
    再次更新一下信息:
    1. 对 AppStore 下载应用所使用 CDN 域名启动了 EDNS-Subnet-Client 的支持;测试结果还行
    2. 以前海外解析直接使用 cloudflared 做上游,现在在海外又建了一个 cache 中转服务器增加连接稳定性
    3. 对下一步的规划如下
    3.a 服务公测:国内网站备案、在华东提供 2 个固定 IP、提供帮助文档、提供 server status 页面(估计 3 个月到半年)
    3.b 服务 beta:至少再增加一个服务区域,提供对小白更友好的产品方案,探索基于 DNS 的商业模式(估计半年到 1 年... 如果度不过这个阶段就挂了,或者我足够有热情来一个人维护它...)
    3.c 正式上线:商业和产品对路,提供 SLA 保障
    39 条回复    2019-02-03 00:01:53 +08:00
    wzw
        1
    wzw  
       2018-07-24 08:02:41 +08:00 via iPhone
    为啥要自己搭建?
    taobibi
        2
    taobibi  
       2018-07-24 08:14:57 +08:00
    搬回国内就没用了吧,服务器出口就直接 DNS 污染了
    tetsai
        3
    tetsai  
       2018-07-24 09:20:50 +08:00
    @taobibi 他应该走代理的
    qyb
        4
    qyb  
    OP
       2018-07-24 09:44:41 +08:00
    @wzw 打算包装一些方便普通人使用的服务, DNS 是基础
    leavic
        5
    leavic  
       2018-07-24 09:45:28 +08:00
    是有什么现成的工具可以安装吗?还是自己写的?
    qyb
        6
    qyb  
    OP
       2018-07-24 09:48:29 +08:00
    qyb
        7
    qyb  
    OP
       2018-07-24 20:12:45 +08:00
    dns-over-tls 现在也可用,用 Android P 和 https://getdnsapi.net/query/ 测试通过;修正一下主贴里 firefox 的配置 network.trr.mode 最好是配成 3 (以确保总是能得到正确的 IP,也请暂时原谅一下当前孱弱的性能体验)。计划下个月搬到国内
    bclerdx
        8
    bclerdx  
       2018-07-24 21:08:01 +08:00 via Android
    @qyb google chrome 怎么配置?
    qyb
        9
    qyb  
    OP
       2018-07-24 23:01:36 +08:00
    @bclerdx chrome 当前还不支持 dns-over-https or dns-over-tls
    bclerdx
        10
    bclerdx  
       2018-07-24 23:17:30 +08:00
    @qyb 悲剧了.........
    qyb
        11
    qyb  
    OP
       2018-07-25 09:15:54 +08:00
    @bclerdx 这是一个趋势。。。再等等说不定就有了
    bclerdx
        12
    bclerdx  
       2018-07-25 22:54:44 +08:00
    @qyb 真没准儿哪个版本就支持了呢。
    lzvezr
        13
    lzvezr  
       2018-07-26 22:23:50 +08:00 via Android
    用 unbound 弄了一个 DNS over TLS,Android P 上用着还行
    用 Nginx 也可以,getdns 测试没问题,不过 Android P 用不了
    qyb
        14
    qyb  
    OP
       2018-07-27 01:01:32 +08:00
    @lzvezr 我是用的 haproxy + unbound 测试的;个人习惯把所有公网接口都做一层反向代理。不理解为啥你 Nginx 反向代理不支持 Android P
    002jnm
        15
    002jnm  
       2018-07-28 16:32:20 +08:00
    lzvezr
        16
    lzvezr  
       2018-07-29 08:35:03 +08:00 via Android
    用 unbound 搭建 DNS over TLS 使用过程中遇到了点问题,forward-zone 不支持通配符,也就意味着 dnsmasq-china-list 转换为 unbound 规则时,三级,四级域名不能被正确的分配到国内 DNS 进行解析,有什么好的解决方案吗?
    我现在想的是后面放一个 overture,可是这样 edns-client-subnet 特性就没有了
    mason961125
        17
    mason961125  
       2018-07-29 08:48:01 +08:00 via iPhone
    emmm 其实 Cloudflare 的 DoH 延迟很低的,大概也就 100 左右。
    qyb
        18
    qyb  
    OP
       2018-07-29 20:35:29 +08:00
    @002jnm 是,上级 DNS 还不支持,我想想办法...
    qyb
        19
    qyb  
    OP
       2018-07-29 20:41:19 +08:00
    @lzvezr 我当前的想法是反 dnsmasq-china-list 其道而行之,真正 DNS 被投毒的域名是很少的... 我维护了一个自己日常使用中发现有问题的域名: https://bitbucket.org/qyb/offwall/src/master/poisoning.domain
    lzvezr
        20
    lzvezr  
       2018-07-29 23:32:16 +08:00
    @qyb 看了一眼 overture 源码,EDNSClientSubnet.Policy 设置为非 auto 就可以了,这样 DNS 数据就原样传给上游
    我现在是 unbound 最外,开启 edns-client-subnet,后面紧跟 overture,境内 DNS 用 119.29.29.29 ,境外 DNS 因为 overture 不支持 DNS over TLS,所以通过 Nginx 反代 1.1.1.1:853 喂给 overture

    现在新问题是,119.29.29.29 居然屏蔽了腾讯云,可以 ping,但是 dig 就超时,wqnmlgb
    qyb
        21
    qyb  
    OP
       2018-07-30 10:36:40 +08:00
    @lzvezr 除了 119.29.29.29 ,其它几个公共 DNS 还有支持 EDCS 的吗?
    lzvezr
        22
    lzvezr  
       2018-07-30 10:55:02 +08:00 via Android
    @qyb 223.5.5.5(阿里的)也支持,不过我用腾讯云请求的时候会自动忽略 subnet,家用宽带就没影响,估计是为了打击对手?手头没有阿里云,不知道可不可用
    lzvezr
        23
    lzvezr  
       2018-07-30 22:19:48 +08:00
    @qyb 终于我放弃 subnet 了,经过测试这个功能十分不稳定,因为 unbound 缓存的问题
    subnet 的 client ip 不同的话理论上应该独立缓存,可是测试一天下来,在 ttl 内,缓存的 dns 并***不总是***会因为 client ip 改变而改变,而且还会拖慢解析速度
    425685343
        24
    425685343  
       2018-07-31 13:49:24 +08:00
    其实自己搭建没啥大用,因为本地转换成 DNS 还是明文的,该受的污染一样受,要安全还是直接 cloudflare 把
    cwek
        25
    cwek  
       2018-08-05 11:12:36 +08:00
    @425685343 如果本地搭建 DOT 作为前端,后端用其他方法按地区分流和清理干净记录,就啥事都没有。
    虽然重点照顾那几个,直接路由黑洞,拿到干净记录用途不大。(笑)
    qyb
        26
    qyb  
    OP
       2018-08-10 12:19:35 +08:00
    dns.rubyfish.cn 已经挪到国内... 发现原来服务在东京的时候,解析到 medium / zh.wikipedia.org 的 IP 是通的,但服务进了国内解析出来的 IP 就无法工作了 ... 目前觉得它最大的用处就是搭配 firefox + 代理分流使用,免去了再维护 DNS 分流服务
    qyb
        27
    qyb  
    OP
       2018-08-16 16:58:01 +08:00
    @lzvezr 现在我也正在测试 subnet 了... 我自己感觉这个功能还能用啊,不知道你的 case 是什么
    lzvezr
        28
    lzvezr  
       2018-08-17 10:32:27 +08:00 via Android
    @qyb 可能阿里云可以用 223.5.5.5 吧,腾讯云用不了 119.29.29.29 ,当然也用不了 223.5.5.5
    qyb
        29
    qyb  
    OP
       2018-08-17 17:16:11 +08:00
    @lzvezr 我针对 qq.comtaobao.comweibo.com 做 subnet 测试;如果你有多地的机器,帮忙看看返回结果是否靠谱??另外我没有用 223.5.5.5,直接让 unbound 去查询权威服务器
    qyb
        30
    qyb  
    OP
       2018-08-20 00:22:05 +08:00
    @002jnm 现在 EDNS 查询结果看起来和 doh.nslookup.me 解析的差不多
    qyb
        31
    qyb  
    OP
       2018-08-29 15:14:22 +08:00
    再次更新一下信息:
    1. 对 AppStore 下载应用所使用 CDN 域名启动了 EDNS-Subnet-Client 的支持;测试结果还行
    2. 以前海外解析直接使用 cloudflared 做上游,现在在海外又建了一个 cache 中转服务器增加连接稳定性
    3. 对下一步的规划如下
    3.a 服务公测:国内网站备案、在华东提供 2 个固定 IP、提供帮助文档、提供 server status 页面(估计 3 个月到半年)
    3.b 服务 beta:至少再增加一个服务区域,提供对小白更友好的产品方案,探索基于 DNS 的商业模式(估计半年到 1 年... 如果度不过这个阶段就挂了,或者我足够有热情来一个人维护它...)
    3.c 正式上线:商业和产品对路,提供 SLA 保障
    techon
        32
    techon  
       2018-09-01 04:40:33 +08:00
    国内的网络环境,DNS 是重灾区。。。
    exkernel
        33
    exkernel  
       2018-09-03 20:02:41 +08:00
    国内备案还敢提供无污染的 DNS 么?
    qyb
        34
    qyb  
    OP
       2018-09-04 14:18:05 +08:00
    @exkernel 已经完成备案了,正在设计网站中...
    exkernel
        35
    exkernel  
       2018-09-07 11:34:09 +08:00   ❤️ 1
    推荐客户端 https://github.com/jedisct1/dnscrypt-proxy

    ```
    [static]
    [static.'dns.rubyfish.cn']
    stamp = 'sdns://AgcAAAAAAAAAAAAPZG5zLnJ1YnlmaXNoLmNuCi9kbnMtcXVlcnk'
    ```
    qyb
        36
    qyb  
    OP
       2018-09-07 16:19:28 +08:00
    @exkernel 多谢多谢。再更新一下当前的进展:海外的 upstream 已经有了两个延迟还可以的节点保障可用性,一个香港,一个日本;对外的信息介绍网站已经可以访问 https://www.rubyfish.cn ,但全部内容准备完估计还得一周左右时间。我期望这个月能正式把 Alpha 版本公布出来
    ahu
        37
    ahu  
       2018-10-19 10:34:29 +08:00
    @qyb 貌似不支持 tls://115.159.154.226 这样的访问方式?
    reguser12005
        38
    reguser12005  
       2019-02-02 12:53:56 +08:00
    @exkernel 请教一下, sdns://xxxxx 这个是啥? 放狗搜不到啊.
    exkernel
        39
    exkernel  
       2019-02-03 00:01:53 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1229 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 17:36 · PVG 01:36 · LAX 09:36 · JFK 12:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.