询问一个关于 DoH 的问题

2021-01-31 22:51:53 +08:00
 lrice

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

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

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

3838 次点击
所在节点    DNS
5 条回复
Archeb
2021-01-31 23:17:01 +08:00
看 adguardhome 的话,就是用常规 dns 服务器来 bootstrap
导致不可用的话我觉得可能性很少,是说在完全屏蔽普通 DNS 的状态下么
那这样的话就手动 hosts 吧
jinliming2
2021-01-31 23:27:16 +08:00
第一,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
2021-02-01 00:16:55 +08:00
可以走常规 DNS 查询,也可以写死,一般情况下是用域名
被污染了的话,除非是有设备信任的证书来进行 mitm,不然的话 SSL 握手会失败。这个过程一般是可信的
不可用在一些地区是很正常的。真要弄的话,SNI 嗅探一样能拿到主机名,之后就可以重置连接或者丢包,不管你的 DNS 解析是怎么做的。如果是 IP 的话就更好办了
lrice
2021-02-01 12:20:52 +08:00
@Archeb @jinliming2 @systemcall 看起来和我想得差不多,谢谢各位补充的细节。
lengrongec
2021-02-03 11:15:42 +08:00
@jinliming2 理解点评很到位,确实就是这么干的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/750091

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX