您的浏览器要求本地 DNS 服务器解析主机名。然后,本地 DNS 服务器向权威 DNS 服务器发送 DNS 查询。browserleaks.com控制权威 DNS 服务器(“此测试尝试解析 50 个随机生成的域名”,您可以看到这些域名类似于r50q8om8uo71xkwz.dns4.browserleaks.org),因此它可以看到从您的本地 DNS 服务器发送的 DNS 查询中的 IP 地址。
特别是,我已经启用了 HTTPS 上的 DNS,但网站仍然正确显示我的 DNS 提供商。
HTTPS(TLS)仅加密应用层,即 HTTP(和 DNS)消息,包括 DNS 查询中的域的主机名和 DNS 响应中的域的 IP 地址。但本地 DNS 服务器的 IP 地址位于 IP 标头中,位于网络层。更重要的是,加密仅针对中间人,但browserleaks.com控制服务器。由于它不是中间人,因此甚至 DNS 消息也是明文的browserleaks.com。
当您使用 DNS over HTTPS (DoH) 时,唯一受保护的路径是您的浏览器和您要连接的 DoH 服务器之间。DoH 服务器显然知道您的 IP 地址,因为您的浏览器与其建立了直接的 HTTPS 连接,而且,它可能会将您的 IP 地址上游发送到该域的权威 DNS 服务器,例如使用 EDNS 客户端子网 ( RFC 7871 ])。这通常用于根据实际请求的地理位置而不是缓存 DNS 服务器的地理位置进行解析。
当然,原始 IP(或子网)是否转发到权威 DNS 服务器取决于 DoH 服务器的配置方式,但查看 Mozilla DOH 解析器策略,似乎业界普遍存在一些限制(参见该策略的第 6 点,例如,不向上游发送未加密的内容),但在某些情况下是可以接受的。
换句话说,如果您希望自己的 IP 不传播到权威 DNS 服务器,则需要找到一个不使用 RFC 7871 传播 IP 的 DoH 服务器。我不知道有这样的服务器,但也没有对此进行任何详细的搜索。
编辑再次阅读您的消息后,不确定您的确切意思
正确显示我的 DNS 提供商
如果这是您的 DoH DNS 提供商,那么整个过程将变得更加简单,因为不需要涉及 EDNS 客户端子网。我在这里假设您指的是您的本地解析器,基本上是您的本地公共 IP,它需要涉及 RFC 7871 才能工作。
您的浏览器要求本地 DNS 服务器解析主机名。然后,本地 DNS 服务器向权威 DNS 服务器发送 DNS 查询。
browserleaks.com
控制权威 DNS 服务器(“此测试尝试解析 50 个随机生成的域名”,您可以看到这些域名类似于r50q8om8uo71xkwz.dns4.browserleaks.org
),因此它可以看到从您的本地 DNS 服务器发送的 DNS 查询中的 IP 地址。HTTPS(TLS)仅加密应用层,即 HTTP(和 DNS)消息,包括 DNS 查询中的域的主机名和 DNS 响应中的域的 IP 地址。但本地 DNS 服务器的 IP 地址位于 IP 标头中,位于网络层。更重要的是,加密仅针对中间人,但
browserleaks.com
控制服务器。由于它不是中间人,因此甚至 DNS 消息也是明文的browserleaks.com
。当您使用 DNS over HTTPS (DoH) 时,唯一受保护的路径是您的浏览器和您要连接的 DoH 服务器之间。DoH 服务器显然知道您的 IP 地址,因为您的浏览器与其建立了直接的 HTTPS 连接,而且,它可能会将您的 IP 地址上游发送到该域的权威 DNS 服务器,例如使用 EDNS 客户端子网 ( RFC 7871 ])。这通常用于根据实际请求的地理位置而不是缓存 DNS 服务器的地理位置进行解析。
当然,原始 IP(或子网)是否转发到权威 DNS 服务器取决于 DoH 服务器的配置方式,但查看 Mozilla DOH 解析器策略,似乎业界普遍存在一些限制(参见该策略的第 6 点,例如,不向上游发送未加密的内容),但在某些情况下是可以接受的。
换句话说,如果您希望自己的 IP 不传播到权威 DNS 服务器,则需要找到一个不使用 RFC 7871 传播 IP 的 DoH 服务器。我不知道有这样的服务器,但也没有对此进行任何详细的搜索。
编辑再次阅读您的消息后,不确定您的确切意思
如果这是您的 DoH DNS 提供商,那么整个过程将变得更加简单,因为不需要涉及 EDNS 客户端子网。我在这里假设您指的是您的本地解析器,基本上是您的本地公共 IP,它需要涉及 RFC 7871 才能工作。
更新
我现在在本地进行了一些测试,并使用 Firefox 中的 2 个默认 DoH 提供商和 Chrome 中的 5 个默认提供商检查了https://browserleaks.com/dns的输出。对于所有这些,browserleaks 基本上显示了我选择的提供商,而没有显示我的本地 IP 是 DNS 解析请求的原始来源。因此,虽然我上面描述的(使用 EDNS 客户端子网泄露发起者 IP)在技术上是可行的,但似乎要么是那些默认提供商这样做,要么 browserleaks 不会解释该信息。
要了解您的情况,如果您在问题中提供从 browserleaks.com 获得的结果的详细信息以及它们如何连接到“您的 DNS 提供商”,这将有所帮助。