V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Hackerchai
V2EX  ›  宽带症候群

测试了一下 DoH/DoT 的可用性,讨论一下今后加密 DNS 的解决方案

  •  1
     
  •   Hackerchai · 2021-03-08 16:03:59 +08:00 · 6827 次点击
    这是一个创建于 1116 天前的主题,其中的信息可能已经有所发展或是发生改变。

    下午测试了一下 DoH/DoT 的可用性,很惨烈

    主流服务几乎没有幸存,只有类似 NextDNS 这种 IP 地理分布广的服务商,部分 ip 没有被屏蔽而已 P1

    屏蔽的方式采用的是 sni 检测路由黑洞 ,有些域名直接就被 RST 了,而其他的则是无限的等待。不过这些加密 DNS 的域名并没有被污染

    P2 我自己的自建服务器也被屏蔽了 DoTDoH 正常。随后我做了测试 P3 ,发现很多屏蔽 DoT 的服务器 DoH 正常。小众的 DNS 正常。这也印证了一个猜测,DoH 因为共用 HTTPS 协议的 443 端口,不能一刀切,所以需要 sni 黑名单 + ip 黑名单 。而 DoT 可以直接屏蔽来自境外的 853 端口

    综合来看,加密 DNS 马上就会在国内死掉。可能的解决方案有:

    1. 使用自建 DNS ,用 DoH 协议,人数少偷偷用
    2. 使用 Use DoH/DoT with Proxy 的方案,但是需要各个代理工具的支持(Surge 支持,而 Clash 不支持)。我试验过 SurgeUse DoH with Proxy ,能用,但是国内网站的 cdn 体验就直接爆炸了

    P1:

    P1

    P2:

    P2

    P3:

    P3

    54 条回复    2021-04-08 11:59:12 +08:00
    tia
        1
    tia  
       2021-03-08 16:18:04 +08:00   ❤️ 1
    iplc 是最终归宿
    AoTmmy
        2
    AoTmmy  
       2021-03-08 16:18:11 +08:00 via Android
    单独用境外 dns 延迟很高而且返回的 IP 不是最快的 IP 所以不配合别的软件意义不大,但是用了别的软件就不需要走本地网络连接境外的加密 dns 了
    brMu
        3
    brMu  
       2021-03-08 16:28:44 +08:00
    smartdns 分流+DNS using 53 over proxy,足够了,Don't need DoT,DoH!
    benjix
        4
    benjix  
       2021-03-08 16:30:22 +08:00 via Android
    自建 doh 很稳,用两年了
    soulzz
        5
    soulzz  
       2021-03-08 16:35:40 +08:00
    自建 dot+edns 基本解决问题
    Hackerchai
        6
    Hackerchai  
    OP
       2021-03-08 16:36:57 +08:00 via Android
    @soulzz +1
    Hackerchai
        7
    Hackerchai  
    OP
       2021-03-08 16:37:21 +08:00 via Android
    @soulzz 不过你现在自建的 dot 没有被阻断么
    Hackerchai
        8
    Hackerchai  
    OP
       2021-03-08 16:37:32 +08:00 via Android
    @benjix 服务器在境外么
    Hackerchai
        9
    Hackerchai  
    OP
       2021-03-08 16:39:23 +08:00 via Android
    @brMu 实际上 doh/dot 是隐私考虑,不想让运营商和 gxw 看到我的访问记录罢了
    tediorelee
        10
    tediorelee  
       2021-03-08 16:41:58 +08:00
    @benjix 有自建教程吗
    neverbelieveyou
        11
    neverbelieveyou  
       2021-03-08 16:42:01 +08:00 via Android
    我这里也是一样,所有国外 dot 无法使用,doh 正常。
    Hackerchai
        12
    Hackerchai  
    OP
       2021-03-08 16:44:03 +08:00 via Android
    @AoTmmy 自建 vps 可以用 edns 来返回最快的 ip,实际上我们现在用的分流软件访问境外网站直接都是交给代理(传的是域名,dns 解析实际上是代理服务器做的),前面询问一次 dns 只是确定它是不是 ip 在国外,所以自建 dns 只要把国内常用网站的 edns 做好+ 境外网站使用无污染上游就行
    Hackerchai
        13
    Hackerchai  
    OP
       2021-03-08 16:45:03 +08:00 via Android
    @neverbelieveyou doh 肯定是靠封域名和 ip,肯定有遗漏,未来就不一定了
    geekvcn
        14
    geekvcn  
       2021-03-08 16:55:00 +08:00 via iPhone
    我是国内阿里的 DoH EDNS 支持的不错,国外谷歌的 DoH,试过只用国外的 DoH + EDNS,国内支持还是不好,百度 IP 获取到的还是香港 IP 。未来肯定还是 DoQ 好,毕竟 DNS 请求延时也是体验的一部分,Quic 既安全又能降低延时,但是目前只有 Adguard 支持 DoQ
    Hackerchai
        15
    Hackerchai  
    OP
       2021-03-08 17:10:35 +08:00 via Android
    @geekvcn 用的什么 dns 分流工具呢
    geekvcn
        16
    geekvcn  
       2021-03-08 17:12:53 +08:00 via iPhone
    @Hackerchai smartdns
    HalloCQ
        17
    HalloCQ  
       2021-03-08 17:13:27 +08:00
    我这里测试 1001 的 doh 还能用
    geekvcn
        18
    geekvcn  
       2021-03-08 17:14:35 +08:00 via iPhone
    @Hackerchai 不过 smartdns DoH 有坑,按照官方文档设置 DoH 启动会报错
    Zhouisme
        19
    Zhouisme  
       2021-03-08 17:15:52 +08:00 via Android
    国内阿里腾讯都是有 DOT,DOH 的,作为本地上游,国外的 DOT 好虽好,不适合国情,解析很多都是国外 IP,严重拖慢。
    swulling
        20
    swulling  
       2021-03-08 17:18:46 +08:00
    @Zhouisme 都国内上游了,还用 DOT/DOH 干啥,最多就解决解决运营商的 DNS 污染,这个毕竟是少数。
    Hackerchai
        21
    Hackerchai  
    OP
       2021-03-08 17:41:11 +08:00 via Android
    @HalloCQ 是的,我的图上也是这样
    Hackerchai
        22
    Hackerchai  
    OP
       2021-03-08 17:41:19 +08:00 via Android
    @geekvcn 跑在路由器么
    Hackerchai
        23
    Hackerchai  
    OP
       2021-03-08 17:42:34 +08:00 via Android
    @Zhouisme 做分流啊,国内域名就直接 53udp 吧,国外走 doh
    geekvcn
        24
    geekvcn  
       2021-03-08 17:44:01 +08:00 via iPhone
    @Hackerchai 随便跑在哪里,基本啥设备都支持
    geekvcn
        25
    geekvcn  
       2021-03-08 17:44:33 +08:00 via iPhone
    @swulling 移动还是需要 DoH 的
    matolv
        26
    matolv  
       2021-03-08 17:57:30 +08:00
    国内 dns 都有污染,隐私也是和国策相违背。用 dot/doh 唯一作用是防劫持或者广告,用处基本不大,udp 53 也没问题。仅移动强中强用户会有点奇效。
    国外 dns 自然是给远程服务器使用的,访问国外的流量经过一次中转才进入国内,而 aws,gcp 甚至 ali,无论哪个机房到公共 dns 的速度都极快。重要的是分流而非使用哪个 dns,参考知名工具 v2ray 如何实现一站式分流
    benjix
        27
    benjix  
       2021-03-08 18:01:13 +08:00
    @Hackerchai 在境外,用的免费的韩国的 Oracle cloud
    benjix
        28
    benjix  
       2021-03-08 18:01:44 +08:00
    Jirajine
        29
    Jirajine  
       2021-03-08 18:16:47 +08:00 via Android
    @AoTmmy 用来 bootstrap 啊,很多鸡场节点是用的域名,直连的 doh/dot 用于解析这些域名防止污染以及不留下记录。
    连上以后就可以走代理解析了。
    Hackerchai
        30
    Hackerchai  
    OP
       2021-03-08 18:27:39 +08:00 via Android   ❤️ 4
    @matolv 好一个“隐私也是和和国策相违”,跪太久了?
    LnTrx
        31
    LnTrx  
       2021-03-08 18:58:47 +08:00
    距离在 https://www.v2ex.com/t/742709 探讨两者差异才过了一个月不到
    Hackerchai
        32
    Hackerchai  
    OP
       2021-03-08 19:10:55 +08:00 via Android
    @LnTrx 魔幻日常,这个东西在中国消失只是时间问题
    Kobayashi
        33
    Kobayashi  
       2021-03-08 19:59:09 +08:00   ❤️ 5
    只不过是 DoT, DoH 方案被墙而已,在 DoT, DoH 没出现之前流行的方案还有很多存活着

    - 丢伪包方案,和 GFW 硬扛:ChinaDNS 时延判断法; semigodking/cdns 根据伪包没有 EDNS option 丢包; puxxustc/sans,预请求 SOA 做判断丢伪包
    - 非标端口 UDP:opendns 的 443, 5353,Quad9 的 9953
    - dnscrypt,DoT, DoH 出现之前的加密方案: 公共 DNS 里 opendns, quad9 有部署
    - (以上方案都支持直连)
    - Proxy 转发 DNS 请求

    曾经失效过的方案

    - 黑名单:最早 ChinaDNS 引入,这种方案已经被证实不靠谱,但抵不住有些傻 x 还在用,如 smartdns
    - 压缩指针:“损坏”DNS 包,变相绕过识别

    这些知识都是本坛 DNS 节点学来的,有兴趣可以深入挖掘一下。

    另外分流方案:

    - 老牌:unbound/dnsmasq + chinadns (或 chinadns 变种)
    - unbound/dnsmasq + dnsmasq-china-list (纯域名名单的话列表太大,好几万,不喜欢这套方案)
    - 一体式(自己把域名分流、IP 分流、DoT, DoH, dnscrypt, proxy 、域名屏蔽、缓存 的活全干了):overture (一度流行跨平台,不过配置文件个数支持有限)。coredns 每次需要编译没怎么搞(不知道有没有 IP 分流插件)。

    现在只推荐 mosdns (非 moschina-dns ),属于一体式方案。没有 overture 配置文件个数的限制(比如 domain 列表文件只能有一个 primary,一个 alterntive,不能再多)。也不像 coredns 每次需要重新编译。
    Bunnyranch
        34
    Bunnyranch  
       2021-03-08 20:45:07 +08:00
    @swulling
    @Hackerchai
    @matolv
    不是说 UDP 容易被中间人截取么 用 UDP 不会被国产软件截取我的请求吗,我现在用的 dnspod 的 DOH..有点想用电信的 UDP 算了..
    Love4Taylor
        35
    Love4Taylor  
       2021-03-08 20:47:24 +08:00 via iPhone
    fake-ip 不可避
    matolv
        36
    matolv  
       2021-03-08 22:25:00 +08:00
    @Bunnyranch 非本地劫持一般以 http 劫持居多,dns 劫持居少,除了长城以外的大规模劫持都是要被请喝茶的。你的问题其实在于什么本地软件会截取你的请求,那只有 360,qq 管家能做到,你不用就是了。一般软件何德何能又又何必要如此去做呢?

    像楼上说的 fake-ip 或者 fake-dns 是 v2ray 最新版刚引入的功能,也许对于某些特殊需求的人有用,与其被他人劫持不如此自己劫持自己,但也不是万能,现在很多软件需要你的 ip 才给你授权,比如 netflix
    systemcall
        37
    systemcall  
       2021-03-08 23:16:59 +08:00 via Android
    一个月前还可以用 cloudflare 的 doh 和 dot 的。现在什么都没了
    Hackerchai
        38
    Hackerchai  
    OP
       2021-03-08 23:17:12 +08:00 via Android
    @Bunnyranch udp 明文,你的运用运营商 /宽带提供商劫持用来投放广告之类的,用 doh/dot 就不会出现劫持
    Hackerchai
        39
    Hackerchai  
    OP
       2021-03-08 23:17:40 +08:00 via Android
    @systemcall 自建吧
    hutng
        40
    hutng  
       2021-03-09 00:32:18 +08:00 via Android
    即使用了 dot/doh,不开 esni 运营商还是能看到访问网站的记录,话说中国联通的 app 还自带这个功能,可以查询自己访问了哪些网站😖
    更大的用途还是过 qiang 吧,国内网络环境真是越来越差了,openwrt 直连源 update 一下,要几分钟,网速都是 500B/s 。。。哎
    miaomiao888
        41
    miaomiao888  
       2021-03-09 00:41:49 +08:00
    谷歌和某个日本的 DOT 被放行了,如果是针对所有国外 853 端口,这怎么个回事
    Hackerchai
        42
    Hackerchai  
    OP
       2021-03-09 00:48:16 +08:00 via Android
    @hutng 用代理不就看不到了
    Hackerchai
        43
    Hackerchai  
    OP
       2021-03-09 01:21:02 +08:00 via Android
    @miaomiao888 怀疑是 dns.google.com 这个?我也发现了
    xarthur
        44
    xarthur  
       2021-03-09 07:47:43 +08:00 via iPhone
    1. ESNI 已经直接被墙了
    2. DoH 似乎不是所有的 DNS 都被墙了,原因不明
    3. 现在似乎直接用 IP 段分流比较合适。
    比如
    https://github.com/Hackl0us/GeoIP2-CN/blob/master/main.go
    xenme
        45
    xenme  
       2021-03-09 08:27:54 +08:00 via iPhone
    关键还是分流,国内走 doh/dot 避免运营商劫持和监视,国外全走代理
    tankren
        46
    tankren  
       2021-03-09 09:07:03 +08:00
    @soulzz 来个教程?谢谢
    tankren
        47
    tankren  
       2021-03-09 09:11:00 +08:00
    @xenme 正解 很多人把 DoH/DoT 当成了翻墙的手段 有点莫名 这两个东西的初衷只是为了保护隐私啊
    Hackerchai
        48
    Hackerchai  
    OP
       2021-03-09 09:28:46 +08:00 via Android
    @xarthur esni 未来还有 ech 支持,不过看起来也不会活得长
    xtli12
        49
    xtli12  
       2021-03-09 11:15:40 +08:00 via iPhone
    我用的 chinadns 黑名单
    swulling
        50
    swulling  
       2021-03-09 11:45:45 +08:00
    @Bunnyranch 本地软件如果获取到 Root 或者系统管理员权限,它搞事你用啥都无效,也没有任何的安全策略可以防止。

    DoH/DoT 乃至于之前的 HTTPS 等都只防中间人看到你的信息,劫持你的回话。
    dingwen07
        51
    dingwen07  
       2021-03-09 15:19:41 +08:00 via iPhone
    Clash 应该是支持 DoT 的,DNS 服务器增加 tls://example.com
    Hackerchai
        52
    Hackerchai  
    OP
       2021-03-09 19:02:49 +08:00 via Android
    @dingwen07 但是不支持 dot over proxy
    ungrown
        53
    ungrown  
       2021-03-10 12:26:53 +08:00
    我也觉得传统 dns 够用,虽然我用的移动家宽是铁定抢答 dns 返回包的,但无所谓。墙外的总归得翻,翻过的 dns 已经靠谱了,广告什么的就靠浏览器插件
    zenghx
        54
    zenghx  
       2021-04-08 11:59:12 +08:00 via Android
    @Hackerchai 有了 ip 不还是可以看到你访问了什么吗
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1045 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 19:17 · PVG 03:17 · LAX 12:17 · JFK 15:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.