服务器如何知道使用哪个 DNS 解析器来解析其名称?

服务器如何知道使用哪个 DNS 解析器来解析其名称?

更新:最初的问题是基于错误的背景而提出的。我真正应该问的是 DNSBL 如何工作以及我的 DNS 解析器为何如此重要。

我有问题要研究一下说明页来自 Spamhaus。具体内容如下:

公共递归名称服务器充当匿名服务,使大规模用户能够隐藏在其背后

我目前的理解(支持123) 是 DNS 解析器只是将域名转换为 IP 地址。然后我使用 IP 地址连接到服务器。但在这种情况下,服务器不知道我使用了什么 DNS。

那么 DNS 解析器如何实现匿名化或去匿名化呢?

答案1

我觉得你稍微错过了Spamhaus 所暗示的要点:

Spamhaus 通过以下方式提供其阻止列表:域名系统阻止列表(DNSBL)机制。

要确定域名或 IP 地址是否在 Spamhaus 阻止列表中,您的系统会进行 DNS 查询。请参阅https://en.wikipedia.org/wiki/Domain_Name_System_blocklist#DNSBL_queries

当该域名或 IP 地址未列出时,将返回 DNS 响应代码 NXDOMAIN,并且另一个响应(通常是 127.0.0.x 范围内的 IP 地址)表示列出该域名的原因。

由于 Spamhaus 需要为其基础设施付费,因此他们像其他人一样采用免费增值模式。对于小用户,服务是免费的,大用户则需要付费。他们或多或少通过计算每个 IP 地址的 DNS 查询数量来实现这一点。每个 IP 每天允许进行 X 次“免费”查询,如果超过该数量,请付费使用特权。

当您的系统配置为使用 Google 的公共解析器 8.8.8.8 时,您的系统将不会直接查询 Spamhaus DNS 服务器。您的系统将向 8.8.8.8 发送 DNSBL 查询,并且当该服务器 DNS 缓存中不存在该特定查询时,Google 的公共解析器将代表您查询 Spamhaus DNS 服务器。

该查询不是来自您的 IP 地址,而是使用 Google 公共解析器的 IP 地址。(编辑:这也是匿名化效果Spamhaus 所指。您的 IP 地址隐藏在 Google 公共解析器后面。)

你可以想象,有很多人使用 Google 的公共解析器和免费套餐,特定 IP 地址每天可以向 Spamhaus 发出的查询数量很快就会耗尽。

(您可以将 8.8.8.8 替换为大型 ISP 的 IP 地址和/或 CloudFlare 的安全 DNS 1.1.1.1)

当您运行自己的 DNS 解析器,而不是 ISP 或 8.8.8.8 或 1.1.1.1 等时,DNSBL 服务器会将您自己的 IP 地址视为 DNS 查询的来源,如果您是一家中小型企业,您将不会遇到任何限制或速率限制

答案2

它不是“DNS 服务器”,而是“公共递归名称服务器”。这意味着我可以将真实名称服务器隐藏在公共递归服务器后面,从而隐藏部分 IP 基础设施。

相关内容