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

如果你正在使用阿里的 DoH,强烈推荐你试试强制 HTTP/3 的 DoH

  •  
  •   sky96111 · 2023-08-08 22:38:59 +08:00 · 24827 次点击
    这是一个创建于 477 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在 AdGuardHome 中配置地址为 h3://dns.alidns.com/dns-query
    杭州电信,使用 DNS-over-HTTP/3 时的大多数查询速度在 5ms 以内,而直接使用 DoH 或 DoT 基本需要 20-40ms
    目前国内加密 DNS 中,仅发现阿里支持 HTTP/3 DoH 。dnspod 和 360 都不支持

    如有遗漏或推荐欢迎补充

    60 条回复    2024-10-02 10:57:50 +08:00
    0o0O0o0O0o
        1
    0o0O0o0O0o  
       2023-08-08 22:56:10 +08:00 via iPhone
    adguard 和 cloudflare 的 h3 dns 我这边三个运营商都可以直连,普通的 DoH 就不行

    94.140.14.14
    94.140.14.141
    cloudflare-dns.com
    sky96111
        2
    sky96111  
    OP
       2023-08-08 23:14:44 +08:00 via Android
    @0o0O0o0O0o cf 和 agh 的 h3 是可以直连,但是延迟 150+很不理想
    daimaosix
        3
    daimaosix  
       2023-08-08 23:16:05 +08:00
    感谢大佬,用上了,确实很快
    Atsushi
        4
    Atsushi  
       2023-08-08 23:20:51 +08:00
    感谢,正常整理网络,刚好用上了。
    huangzhiyia
        5
    huangzhiyia  
       2023-08-08 23:58:57 +08:00 via Android
    比 DNS over TCP 还快,不能理解
    huangzhiyia
        6
    huangzhiyia  
       2023-08-08 23:59:42 +08:00 via Android
    @zmaplex 噢,基于 UDP ,不好意思
    billytom
        7
    billytom  
       2023-08-09 00:16:50 +08:00 via iPhone   ❤️ 1
    嗯,兄弟,我想说 h3 的 dns ,目前阶段还有些问题。最大的问题是 QUIC 流量,某些地区的运营商可是下了黑手。就兼容性来说,目前最好还是 DOH 。如果 clash meta 的话,支持 h2 和 h3 的并发查询,这就万无一失了。另外,记得 alidns 用 h3://223.5.5.5/dns-query ,别用域名那么傻
    zhangchongjie
        8
    zhangchongjie  
       2023-08-09 00:18:41 +08:00
    这个能阻止 dns 泄漏吗?有性能上的损失吧
    billytom
        9
    billytom  
       2023-08-09 00:36:08 +08:00
    @zhangchongjie 既然是 DOH 了肯定是防泄密的,性能可以达到 udp 53dns 的 9 成,特别是连接复用后
    1423
        10
    1423  
       2023-08-09 00:39:18 +08:00
    有什么客户端支持 dns over h3 吗?
    1423
        11
    1423  
       2023-08-09 00:40:39 +08:00
    AdguardHome 似乎尚未支持,提供商列表里也没有
    https://adguard-dns.io/kb/zh-CN/general/dns-providers/

    其中 quic 是 dns over quic, 跟 dns over h3 不同
    1423
        12
    1423  
       2023-08-09 00:53:33 +08:00
    似乎会有人弄混 DoQ 和 DoH3
    https://github.com/mr-karan/doggo/issues/61

    另外我自己测试 AdguardHome 确实支持(填写 h3://223.5.5.5/dns-query 抓包有对应 UDP)
    但不确定 AdguardHome 会不会自动 fallback 到 TCP

    抱歉连续回复
    sky96111
        13
    sky96111  
    OP
       2023-08-09 00:57:16 +08:00 via Android
    @billytom 看地区吧,ISP 可能有 UDP 白名单。我这边阿里的 quic 流量未出现丢包而且延迟比 TCP 更低。
    用 IP 代替域名这点我不同意,域名可以保证 v4v6 双栈或任一环境,写 IP 的话就需要分别写 v4 和 v6 的地址。而且 agh 支持 bootstrap DNS ,仅用于查询 doh 的地址,之后就走缓存。只有首次需要查询 doh 服务器的地址,查询完成后不会对后续查询的性能产生任何影响了
    sky96111
        14
    sky96111  
    OP
       2023-08-09 01:10:17 +08:00 via Android
    @1423 AdGuardHome 0.108.0-b.17/0.107.15 起支持 dns-over-http/3 ,你可以去找一下 release 日志。
    AdGuardHome 与 AdGuard DNS 不是同一个东西,提供商列表是 agh 可选上游 DNS 的汇总和参考,与 agh 本体无关。
    DoQ 与 DoH3 是不同的东西,如果要做类比的话,DoQ 就是 quic 版的 DoT ,DoH3 是 quic 版的 DoH 。

    当你明确指定 h3 前缀时,agh 不会回退到 HTTP/2 。当你使用 https 前缀时,agh 会优先 h3 但可能由于各种因素自动回退到 h2
    1423
        15
    1423  
       2023-08-09 01:24:08 +08:00
    @sky96111 AdGuardHome 的 “上游 DNS 服务器” 配置的说明文字有跳转链接到 /dns-providers 和 https://github.com/AdguardTeam/AdGuardHome/wiki/Configuration#upstreams

    毕竟都是 AdguardTeam
    yyysuo
        16
    yyysuo  
       2023-08-09 01:26:44 +08:00
    嘿嘿,这样配置了一下,h3 基本上打不过 dot ,不过用 Adguard Home 了,哪能不开乐观缓存呢,开了乐观缓存,用哪个协议基本上没啥大的区别了。
    h3://223.5.5.5/dns-query
    h3://223.6.6.6/dns-query
    tls://223.5.5.5
    tls://223.6.6.6
    52acca
        17
    52acca  
       2023-08-09 01:31:58 +08:00 via Android
    我加进去了,但貌似都回退了
    sky96111
        18
    sky96111  
    OP
       2023-08-09 01:50:01 +08:00 via Android
    @1423 你发的这个链接里不是有 h3 的 example 吗😂这个我看更新日志,去年 10 月就支持了
    ````
    h3://dns-unfiltered.adguard.com/dns-query: encrypted DNS-over-HTTPS with forced HTTP/3 and no fallback to HTTP/2 and below;
    ````
    sky96111
        19
    sky96111  
    OP
       2023-08-09 01:50:40 +08:00 via Android
    @52acca 可能和地区的 QoS 有关,看起来各地区的差异很大
    1423
        20
    1423  
       2023-08-09 01:56:35 +08:00
    @sky96111 对啊,我上面有纠正的过“另外我自己测试 AdguardHome 确实支持”
    daisyfloor
        21
    daisyfloor  
       2023-08-09 05:34:22 +08:00
    @billytom 我是 meta ,请问该如何填写 dns 段呢?请教
    daisyfloor
        22
    daisyfloor  
       2023-08-09 07:08:20 +08:00
    纯小白,想问问,怎么测试那个 dns 的查询速度 毫秒? 以及设置多个并发查询后用了哪个?

    我想对比测试下。
    dwdh
        23
    dwdh  
       2023-08-09 09:19:49 +08:00 via Android
    阿里 DNS DoT 、DoH 速度确实没的说,我之前也折腾过。

    我最想用的还是 G 家和 CF 的 DNS,但是链接被重置,我心里 Fuck CFW....用 CF worker 和 proxy 是个不错的手段但是,查询延迟大大增加...
    LiangBryan
        24
    LiangBryan  
       2023-08-09 10:05:30 +08:00   ❤️ 2
    pcteams
        25
    pcteams  
       2023-08-09 10:21:02 +08:00
    @billytom 感谢提示
    billytom
        26
    billytom  
       2023-08-09 10:50:03 +08:00
    @daisyfloor 有些东西不好明说,你懂得。但一般 clash 现在推荐用 meta 核心的,里面可以把玩的地方多很多

    经多年验证,clash meta 正确的 DNS 设置如下(前提,你落地鸡的地区有自己的 vps ,然后建立个 ADH 服务器开 DOH 做 DNS 中转,里面有个 EDNS 网段的配置项,直接填落地鸡的 IP ,不要用你自家电脑的 edns ,重复一遍不要用自家电脑 edns !)

    dns:
    enable: true
    ipv6: false
    use-hosts: true
    prefer-h3: true
    listen: :23453
    enhanced-mode: redir-host
    nameserver:
    - 落地鸡 AGH DoH 1 (不要强制开 h3=true ,出国 UDP 做了 Qos ,用 prefer-h3 双并发就好)
    - 落地鸡 AGH DoH 2 (如上)
    nameserver-policy:
    "geosite:cn":
    - https://223.5.5.5/dns-query#h3=true
    - https://223.6.6.6/dns-query#h3=true

    pw ,如果你用的是 fake-ip 模式就更简单,直接最后两行填 nameserver 部分就搞定了

    @sky96111 兄地,作为过来人我很负责任告诉你,ipv6 的线路,目前国内跟屎一样,除非你用的是教育网另说,任何网站如果你不自觉切到 ipv6 来访问一定让你痛不欲生,所以我 vps 跟本地全都禁掉 v6 了。你还专门想用,有点不可思议
    SteveRogers
        27
    SteveRogers  
       2023-08-09 11:16:15 +08:00 via iPhone
    surge 支持么
    daisyfloor
        28
    daisyfloor  
       2023-08-09 11:21:43 +08:00
    @billytom

    我还不会自己弄 DNS 服务。

    这是目前配置:
    dns:
    enable: true
    listen: 0.0.0.0:53
    default-nameserver:
    - 223.5.5.5
    nameserver:
    - 'tls://8.8.4.4#dns'
    - 'tls://1.0.0.1#dns'
    nameserver-policy:
    "geosite:cn,private":
    - https://doh.pub/dns-query
    - https://dns.alidns.com/dns-query

    纯电脑上的 meta 客户端用,不作为透明网关(旁路)

    enhanced-mode: redir-host 这一项我就没有填,也没用 fake-ip 。客户端用。

    rules 部分设置了 ip 规则 no-resolve 不做域名解析

    以上,这样有什么大问题么?
    daisyfloor
        29
    daisyfloor  
       2023-08-09 11:26:21 +08:00
    @billytom 另外,ios 手机上有什么推荐支持 meta 的么?尤其是这几个 dns 选项很多不支持
    daisyfloor
        30
    daisyfloor  
       2023-08-09 12:45:53 +08:00
    @daimaosix 怎么测试查询速度?
    daimaosix
        31
    daimaosix  
       2023-08-09 14:40:57 +08:00
    @daisyfloor AdGuard Home 查询日志里能看到耗时
    Andim
        32
    Andim  
       2023-08-09 15:43:35 +08:00
    @daisyfloor doggo --time img30.360buyimg.com @https://223.6.6.6/dns-query
    加上--time
    galaxyskyknight2
        33
    galaxyskyknight2  
       2023-08-12 20:51:01 +08:00
    H3 和 H2 速度有差别吗?貌似没有啥区别啊,H3 对移动端的接入还是有很多限制。比如有些 FQ 软件的配置 json 就不支持。
    sky96111
        34
    sky96111  
    OP
       2023-08-12 21:22:26 +08:00   ❤️ 1
    @galaxyskyknight2 直观的感受就是 H3 握手速度比 H2 快得多。H2 是 TCP+TLS ,算上连接复用也需要 2 个 RTT ,在 NAT 的环境下连接复用还不一定能稳定保持,偶尔需要 3-RTT 。H3 是 QUIC ,支持 0-RTT ,非常合适 DNS 这种需要快速响应的场景
    galaxyskyknight2
        35
    galaxyskyknight2  
       2023-08-12 22:54:23 +08:00
    @sky96111 是感觉快那么一丢丢,反正 ali 的 dns 体感上永远比鹅厂的快。而 ali 自家的 h3/h2 貌似差别不明显。但在安卓的 v2rayng 里貌似不支持 h3,只能写 https 里,写 quic://好像也不 work
    sky96111
        36
    sky96111  
    OP
       2023-08-13 05:21:12 +08:00 via Android
    @galaxyskyknight2 doh3 和 doq 格式不一样,v2rayng 应该是支持 doq 的,你注意下格式试试
    veSir
        37
    veSir  
       2023-08-13 06:59:25 +08:00
    Ali DNS, 中国有几个城市很奇怪, 对于 AAAA 记录解析特别不稳定, 使用 dig 工具测试, 少则三四次, 多则十多次才能解析出 AAAA 记录.
    ajyz
        38
    ajyz  
       2023-08-13 14:21:12 +08:00
    试了下本地电信用 HTTP/3 延迟上比普通 DoH 几乎没差,但遇到个问题,需要 IPv6 解析的地方非常慢,普通 DoH 就没问题
    x308989414q
        39
    x308989414q  
       2023-08-16 10:08:02 +08:00   ❤️ 1
    doh.pub 为啥还有人用,官方不是说了 20qps ,以及不会及时更新吗?
    sky96111
        40
    sky96111  
    OP
       2023-08-16 11:36:51 +08:00 via Android
    @x308989414q 谢谢,之前只是感觉不好用,查了一下还真是
    HalloCQ
        41
    HalloCQ  
       2023-08-17 14:29:18 +08:00
    @sky96111 哪里写了 20qps 啊,真这样我也不用了
    HalloCQ
        42
    HalloCQ  
       2023-08-17 14:30:35 +08:00
    @HalloCQ 找到了
    perr
        43
    perr  
       2023-08-24 17:11:56 +08:00
    @galaxyskyknight2 请教下,你是在“境内 dns (可选)”以及“远程 dns (可选)”中直接贴入 doh 的地址吗?例如,https://dns.alidns.com/dns-query
    WhatTheBridgeSay
        44
    WhatTheBridgeSay  
       2023-09-03 02:39:11 +08:00
    @x308989414q #39 我测下来现在 dns.pub 实际是高于 200qps
    Aaron325
        45
    Aaron325  
       2023-09-22 14:51:06 +08:00
    Google 支持了吗,强制 h3 通不过,不知道是不是被屏蔽缘故。cf 的正常
    yaozijin
        46
    yaozijin  
       2023-09-22 17:28:55 +08:00
    @Aaron325 Google DNS 是支持的
    bclerdx
        47
    bclerdx  
       2023-10-14 07:04:49 +08:00 via Android
    @billytom 用域名咋了?
    bclerdx
        48
    bclerdx  
       2023-10-14 07:09:44 +08:00 via Android
    @x308989414q 那 dot.pub 有限制嘛?
    bclerdx
        49
    bclerdx  
       2023-10-14 07:10:47 +08:00 via Android
    @WhatTheBridgeSay 用什么方法测试的。
    bclerdx
        50
    bclerdx  
       2023-10-14 07:11:14 +08:00 via Android
    @HalloCQ 给下链接,谢谢!
    wcnmm
        51
    wcnmm  
       2023-10-17 23:34:57 +08:00
    @billytom 请教一下为什么用域名不好,虽然我用的就是 ip 地址
    billytom
        52
    billytom  
       2023-10-18 03:21:36 +08:00
    @wcnmm 部分地区中国电信屏蔽了 dnspod 和 alidns 的 DOH 地址,无耻到极。用 IP 的话就没了这个问题,否则人在外面走,家里人催你回家修网络急
    sky96111
        53
    sky96111  
    OP
       2023-10-18 08:28:04 +08:00 via Android
    @billytom 这么夸张,什么地方?是 sni 阻断还是 dns 污染?
    boeing777
        54
    boeing777  
       2023-10-25 17:45:25 +08:00
    119.29.29.29:53
    1140 ms
    221.12.1.227:53
    100 ms
    192.168.8.1:53
    46 ms
    223.5.5.5:53
    27 ms
    https://223.5.5.5:443/dns-query
    3 ms

    试了下,确实快,LZ 牛皮
    rallos8zek
        55
    rallos8zek  
       2023-10-27 19:03:36 +08:00
    @boeing777 DNS 地址要加 443 吗?
    WizardLeo
        56
    WizardLeo  
       2023-11-01 10:28:12 +08:00
    @billytom 按理说 doh 、dot 都是需要 tls 加密的,如果没有域名该怎么知道要使用哪个域名的证书?
    sky96111
        57
    sky96111  
    OP
       2023-11-01 11:00:46 +08:00 via Android
    @WizardLeo IP TLS 证书
    geerdan
        58
    geerdan  
       2023-11-15 14:24:37 +08:00
    quic://dns.alidns.com
    阿里的 QUIC 是可用的状态。没有测试过实际速度。理论上应该是 QUIC 更快吧,有条件的可以对比下 H3 与 QUIC 的占用与速度。
    zhouxcy
        59
    zhouxcy  
       2023-11-22 17:15:01 +08:00
    感谢分享,最近刚好在找国内的 h3 DNS 方案
    0x663
        60
    0x663  
       57 天前
    @billytom #7 我不太清楚为什么要用 h3://223.5.5.5/dns-query 而不是 h3://label.alidns.com/dns-query ?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5410 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 07:48 · PVG 15:48 · LAX 23:48 · JFK 02:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.