DNS-over-HTTPS(DOH) 是否依赖于通过 UDP 端口 53 的至少一个常规 DNS 查询来运行?

DNS-over-HTTPS(DOH) 是否依赖于通过 UDP 端口 53 的至少一个常规 DNS 查询来运行?

语境

操作系统(Windows、MacOS、Linux、iOS、Android)以及浏览器(Firefox、Brave、Edge 等)都有使用 DOH 的方法。

DNS-over-HTTPS 通过系统与“https://cloudflare-dns.com/dns-query”等端点对话来工作。

假设客户端所在的网络限制通过端口 53 udp 的 DNS 流量。此外,路由器不充当客户端的 DNS 解析器。(网络强制使用 DOH(或 DOT)。)

抓住第 22 条陷阱?

客户端如何解析第一个主机名“cloudflare-dns.com”以建立 DOH-DNS 查询连接?

看起来,开箱即用,DOH 通信始终需要通过 UDP 端口 53 进行至少一个 DNS 查询。如果您使用传统的基于主机名的端点的话。

或者这个说法是错误的,DOH 提供商端点 IP 是否已在 Windows 11 中预加载?我可以看到他们的主机名已预加载,但如果它在 DOH 之前无法查询此主机名本身,它是否真的知道要连接到哪里?

对于 Cloudflare,我可以记住它的基于 IP 的端点“https://1.1.1.1/dns-query”,对于 Quad9 也许也可以记住,但对于 NextDNS 和其他提供商,IP 并不总是那么容易记住,我需要互联网来查找他们的 IP 才能使这些提供商正常工作。

问题

问题 1: DNS-over-HTTPS(DOH) 是否依赖于通过 UDP 端口 53 的至少一个常规 DNS 查询来运行?能够解析 DOH 服务器的主机名本身并连接到它吗?

Q2:如果是,在没有端口 53 回退或其他本地 DNS 解析器的受限网络中,是否使用包含 IP 的 DOH 端点地址(如https://1.1.1.1/dns-query)是否始终需要连接才能始终正常工作以避免出现问题?(例如包含主机名的格式(https://cloudflare-dns.com/dns-query(?)

问题 3:HTTPS 依赖于 PKI 基础架构和具有通用名称(或 SAN)的证书,例如“cloudflare-dns.com”。我使用包含 IP 的端点而不是包含主机名的端点是否会破坏链中的验证步骤?

Q4:如果操作系统有不同的行为,该表可能是一个后续问题。

客户 对 DOH-Catch22 敏感 评论(为什么不呢?)
MacOS(cloudflared)
Windows 本机
MacOS 上的 Firefox
MacOS 上的 Edge
Windows 上的 Firefox
Windows 上的 Edge
iOS 移动配置
Android 原生
通过 Cloudflared 基于 Linux
通过 Stubby 基于 Linux

答案1

问题 1: DNS-over-HTTPS(DOH) 是否依赖于通过 UDP 端口 53 的至少一个常规 DNS 查询才能运行?

对于基于主机名的端点来说这是正确的,但在使用基于 IP 的端点(如 cloudflare 的 1.1.1.1(或像 hosts 文件这样的本地解析器))时则不然。


问题2: 在没有端口 53 回退或其他本地 DNS 解析器的受限网络中,是否始终需要使用包含 IP 的 DOH 端点地址进行连接?

是的,客户端需要以某种方式将端点名称解析one.one.one.one为 IP。它可以缓存或硬编码在 DoH 客户端中,但并不常见。


问题3: 我是否会通过使用包含 IP 的端点而不是包含主机名的端点来破坏链中的验证步骤?

不一定。证书可以使用 IP 地址作为有效的 SAN - 请参阅 Cloudflare 证书https://1.1.1.1/例如。但是,如果 DoH 客户端也进行 CRL/OCSP 检查,那么该信息也应该分发到基于 IP 的主机(Cloudflare 不会)。如果不允许,这可能会导致僵局


问题4:对于任何 DoH 服务来说,一般行为都是相同的。查看不同应用程序中的一些默认提供程序:https://en.wikipedia.org/wiki/DNS_over_HTTPS

相关内容