V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
lrice
V2EX  ›  DNS

询问一个关于 DoH 的问题

  •  
  •   lrice · Jan 31, 2021 · 4781 views
    This topic created in 1920 days ago, the information mentioned may be changed or developed.

    如果设置的是 DoH 服务器地址,那么客户端第一次查询是如何得知这个服务器的 IP 呢?

    采用常规 DNS 查询吗?如果是这样岂不是依然存在被污染的可能性(导致某些 DoH 服务器不可用)?

    看了一下 RFC 文档似乎也没有提到这个描述的样子。 谢谢各位大佬。

    5 replies    2021-02-03 11:15:42 +08:00
    Archeb
        1
    Archeb  
       Jan 31, 2021
    看 adguardhome 的话,就是用常规 dns 服务器来 bootstrap
    导致不可用的话我觉得可能性很少,是说在完全屏蔽普通 DNS 的状态下么
    那这样的话就手动 hosts 吧
    jinliming2
        2
    jinliming2  
       Jan 31, 2021   ❤️ 2
    第一,DoH 服务地址可以是域名,也可以是 IP ( IP 也可以颁发 TLS 证书,实现 https 的,比如 https://1.1.1.1 )
    第二,如果 DoH 没有提供 IP 访问的途径,必须解析域名地址的话,那么就走传统 DNS 解析这个 DoH 的地址,然后再走 DoH 解析其他所有域名。
    第三,如果 DoH 的域名受到污染,那么就让 DoH 走代理远程解析,或者配置本地 Hosts,一般 DoH 的服务和传统 DNS 服务使用同一个 IP,只不过端口不一样。

    要知道 DoH/DoT 解决的问题是隐私问题,而不是污染问题。是为了防止你的解析记录明文被第三方窃取。
    污染那属于“破坏计算机通信系统”了,不属于 DoH/DoT 解决问题的范畴。
    这里如果存在污染,也仅仅只是污染 DoH,只会造成 DoH 无法访问,解析失败,进而让你停止解析其他域名,防止解析记录隐私泄露。
    systemcall
        3
    systemcall  
       Feb 1, 2021
    可以走常规 DNS 查询,也可以写死,一般情况下是用域名
    被污染了的话,除非是有设备信任的证书来进行 mitm,不然的话 SSL 握手会失败。这个过程一般是可信的
    不可用在一些地区是很正常的。真要弄的话,SNI 嗅探一样能拿到主机名,之后就可以重置连接或者丢包,不管你的 DNS 解析是怎么做的。如果是 IP 的话就更好办了
    lrice
        4
    lrice  
    OP
       Feb 1, 2021
    @Archeb @jinliming2 @systemcall 看起来和我想得差不多,谢谢各位补充的细节。
    lengrongec
        5
    lengrongec  
       Feb 3, 2021
    @jinliming2 理解点评很到位,确实就是这么干的
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4514 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 01:05 · PVG 09:05 · LAX 18:05 · JFK 21:05
    ♥ Do have faith in what you're doing.