bind中递归和转发有什么区别

Rap*_*ert 13 domain-name-system bind

我试图了解绑定是如何工作的,但一直无法找到有关递归查询和“转发”之间区别的明确信息。

我读过全局允许递归查询是不好的,因为它允许 ddos​​ 攻击。但是转发不也是一样吗?或者转发是递归查询的先决条件?

Rou*_*ben 26

简而言之:

转发:只是将 DNS 查询传递到另一个 DNS 服务器(例如您的 ISP)。家庭路由器使用转发将 DNS 查询从家庭网络的客户端传递到 ISP 的 DNS 服务器。例如,对于 foo.example.com,转发 DNS 服务器会首先检查它的缓存(它之前是否已经问过这个问题),如果答案不在它的缓存中,它会询问它的转发器(你的 ISP 的 DNS 服务器)对于答案,它将以缓存的响应进行响应,或者执行递归直到找出答案。

递归:接收查询的 DNS 服务器通过递归查询该域的权威 DNS 服务器来自行找出该查询的答案。例如,对于 foo.example.com,递归器将首先向根服务器查询负责 .com TLD 的 DNS 服务器,然后它会向这些服务器询问 example.com,然后它会查询例如服务器。 com for foo.example.com,终于得到了原始查询的答案。

在安全性方面,您应该将递归器/转发器(通常是用于为大量客户端提供服务的 DNS 服务器)和权威 DNS 服务器(通常这些服务器仅负责回答关于它们具有权威性的域的查询 - 这些服务器将不会执行)任何人的递归查询)。

我希望这能让事情变得更清楚...