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

询问一个关于 DoH 的问题

  •  
  •   lrice · 2021-01-31 22:51:53 +08:00 · 4046 次点击
    这是一个创建于 1422 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    5 条回复    2021-02-03 11:15:42 +08:00
    Archeb
        1
    Archeb  
       2021-01-31 23:17:01 +08:00
    看 adguardhome 的话,就是用常规 dns 服务器来 bootstrap
    导致不可用的话我觉得可能性很少,是说在完全屏蔽普通 DNS 的状态下么
    那这样的话就手动 hosts 吧
    jinliming2
        2
    jinliming2  
       2021-01-31 23:27:16 +08:00   ❤️ 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  
       2021-02-01 00:16:55 +08:00
    可以走常规 DNS 查询,也可以写死,一般情况下是用域名
    被污染了的话,除非是有设备信任的证书来进行 mitm,不然的话 SSL 握手会失败。这个过程一般是可信的
    不可用在一些地区是很正常的。真要弄的话,SNI 嗅探一样能拿到主机名,之后就可以重置连接或者丢包,不管你的 DNS 解析是怎么做的。如果是 IP 的话就更好办了
    lrice
        4
    lrice  
    OP
       2021-02-01 12:20:52 +08:00
    @Archeb @jinliming2 @systemcall 看起来和我想得差不多,谢谢各位补充的细节。
    lengrongec
        5
    lengrongec  
       2021-02-03 11:15:42 +08:00
    @jinliming2 理解点评很到位,确实就是这么干的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2709 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 15:16 · PVG 23:16 · LAX 07:16 · JFK 10:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.