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

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

  •  
  •   qyb · 144 天前 · 4959 次点击
    这是一个创建于 144 天前的主题,其中的信息可能已经有所发展或是发生改变。
    服务现在在 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 条附言  ·  127 天前
    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 条附言  ·  108 天前
    再次更新一下信息:
    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 保障
    37 回复  |  直到 2018-10-19 10:34:29 +08:00
        1
    wzw   144 天前 via iPhone
    为啥要自己搭建?
        2
    taobibi   144 天前
    搬回国内就没用了吧,服务器出口就直接 DNS 污染了
        3
    tetsai   144 天前
    @taobibi 他应该走代理的
        4
    qyb   144 天前
    @wzw 打算包装一些方便普通人使用的服务, DNS 是基础
        5
    leavic   144 天前
    是有什么现成的工具可以安装吗?还是自己写的?
        6
    qyb   144 天前
        7
    qyb   144 天前
    dns-over-tls 现在也可用,用 Android P 和 https://getdnsapi.net/query/ 测试通过;修正一下主贴里 firefox 的配置 network.trr.mode 最好是配成 3 (以确保总是能得到正确的 IP,也请暂时原谅一下当前孱弱的性能体验)。计划下个月搬到国内
        8
    bclerdx   144 天前 via Android
    @qyb google chrome 怎么配置?
        9
    qyb   143 天前
    @bclerdx chrome 当前还不支持 dns-over-https or dns-over-tls
        10
    bclerdx   143 天前
    @qyb 悲剧了.........
        11
    qyb   143 天前
    @bclerdx 这是一个趋势。。。再等等说不定就有了
        12
    bclerdx   142 天前
    @qyb 真没准儿哪个版本就支持了呢。
        13
    lzvezr   141 天前 via Android
    用 unbound 弄了一个 DNS over TLS,Android P 上用着还行
    用 Nginx 也可以,getdns 测试没问题,不过 Android P 用不了
        14
    qyb   141 天前
    @lzvezr 我是用的 haproxy + unbound 测试的;个人习惯把所有公网接口都做一层反向代理。不理解为啥你 Nginx 反向代理不支持 Android P
        15
    002jnm   140 天前
        16
    lzvezr   139 天前 via Android
    用 unbound 搭建 DNS over TLS 使用过程中遇到了点问题,forward-zone 不支持通配符,也就意味着 dnsmasq-china-list 转换为 unbound 规则时,三级,四级域名不能被正确的分配到国内 DNS 进行解析,有什么好的解决方案吗?
    我现在想的是后面放一个 overture,可是这样 edns-client-subnet 特性就没有了
        17
    mason961125   139 天前 via iPhone
    emmm 其实 Cloudflare 的 DoH 延迟很低的,大概也就 100 左右。
        18
    qyb   139 天前
    @002jnm 是,上级 DNS 还不支持,我想想办法...
        19
    qyb   139 天前
    @lzvezr 我当前的想法是反 dnsmasq-china-list 其道而行之,真正 DNS 被投毒的域名是很少的... 我维护了一个自己日常使用中发现有问题的域名: https://bitbucket.org/qyb/offwall/src/master/poisoning.domain
        20
    lzvezr   138 天前
    @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
        21
    qyb   138 天前
    @lzvezr 除了 119.29.29.29 ,其它几个公共 DNS 还有支持 EDCS 的吗?
        22
    lzvezr   138 天前 via Android
    @qyb 223.5.5.5(阿里的)也支持,不过我用腾讯云请求的时候会自动忽略 subnet,家用宽带就没影响,估计是为了打击对手?手头没有阿里云,不知道可不可用
        23
    lzvezr   137 天前
    @qyb 终于我放弃 subnet 了,经过测试这个功能十分不稳定,因为 unbound 缓存的问题
    subnet 的 client ip 不同的话理论上应该独立缓存,可是测试一天下来,在 ttl 内,缓存的 dns 并***不总是***会因为 client ip 改变而改变,而且还会拖慢解析速度
        24
    425685343   137 天前
    其实自己搭建没啥大用,因为本地转换成 DNS 还是明文的,该受的污染一样受,要安全还是直接 cloudflare 把
        25
    cwek   132 天前
    @425685343 如果本地搭建 DOT 作为前端,后端用其他方法按地区分流和清理干净记录,就啥事都没有。
    虽然重点照顾那几个,直接路由黑洞,拿到干净记录用途不大。(笑)
        26
    qyb   127 天前
    dns.rubyfish.cn 已经挪到国内... 发现原来服务在东京的时候,解析到 medium / zh.wikipedia.org 的 IP 是通的,但服务进了国内解析出来的 IP 就无法工作了 ... 目前觉得它最大的用处就是搭配 firefox + 代理分流使用,免去了再维护 DNS 分流服务
        27
    qyb   121 天前
    @lzvezr 现在我也正在测试 subnet 了... 我自己感觉这个功能还能用啊,不知道你的 case 是什么
        28
    lzvezr   120 天前 via Android
    @qyb 可能阿里云可以用 223.5.5.5 吧,腾讯云用不了 119.29.29.29 ,当然也用不了 223.5.5.5
        29
    qyb   120 天前
    @lzvezr 我针对 qq.comtaobao.comweibo.com 做 subnet 测试;如果你有多地的机器,帮忙看看返回结果是否靠谱??另外我没有用 223.5.5.5,直接让 unbound 去查询权威服务器
        30
    qyb   117 天前
    @002jnm 现在 EDNS 查询结果看起来和 doh.nslookup.me 解析的差不多
        31
    qyb   108 天前
    再次更新一下信息:
    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 保障
        32
    techon   105 天前
    国内的网络环境,DNS 是重灾区。。。
        33
    exkernel   103 天前
    国内备案还敢提供无污染的 DNS 么?
        34
    qyb   102 天前
    @exkernel 已经完成备案了,正在设计网站中...
        35
    exkernel   99 天前   ♥ 1
    推荐客户端 https://github.com/jedisct1/dnscrypt-proxy

    ```
    [static]
    [static.'dns.rubyfish.cn']
    stamp = 'sdns://AgcAAAAAAAAAAAAPZG5zLnJ1YnlmaXNoLmNuCi9kbnMtcXVlcnk'
    ```
        36
    qyb   99 天前
    @exkernel 多谢多谢。再更新一下当前的进展:海外的 upstream 已经有了两个延迟还可以的节点保障可用性,一个香港,一个日本;对外的信息介绍网站已经可以访问 https://www.rubyfish.cn ,但全部内容准备完估计还得一周左右时间。我期望这个月能正式把 Alpha 版本公布出来
        37
    ahu   57 天前
    @qyb 貌似不支持 tls://115.159.154.226 这样的访问方式?
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2245 人在线   最高记录 4019   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 28ms · UTC 14:13 · PVG 22:13 · LAX 06:13 · JFK 09:13
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1