我试图了解绑定的工作原理,但无法找到关于递归查询和“转发”之间的差异的明确信息。
我读到过,全局允许递归查询是不好的,因为它允许 DDoS 攻击。但转发不是同样如此吗?或者转发是递归查询的先决条件?
答案1
简而言之:
转发:只是将 DNS 查询传递给另一个 DNS 服务器(例如您的 ISP 的 DNS 服务器)。家庭路由器使用转发将来自家庭网络客户端的 DNS 查询传递给您的 ISP 的 DNS 服务器。例如,对于 foo.example.com,转发 DNS 服务器将首先检查其缓存(它之前是否已经询问过这个问题),如果答案不在其缓存中,它将向其转发器(您的 ISP 的 DNS 服务器)询问答案,转发器将使用缓存的响应进行响应,或者执行递归,直到找到答案。
递归:接收查询的 DNS 服务器会自行通过递归查询该域的权威 DNS 服务器来找出该查询的答案。例如,对于 foo.example.com,递归服务器会首先查询根服务器,了解哪些 DNS 服务器负责 .com TLD,然后向这些服务器询问 example.com,然后向 example.com 的服务器查询 foo.example.com,最后得到原始查询的答案。
在安全性方面,您应该将递归器/转发器(通常是用于为大量客户端提供服务的 DNS 服务器)和权威 DNS 服务器(通常这些服务器仅负责回答有关它们具有权威性的域的查询 - 这些服务器不会为任何人执行递归查询)分开。
我希望这可以让事情清楚一点...