Recursion 从子域查询父域中的非/权威名称

Recursion 从子域查询父域中的非/权威名称,recursion,dns,subdomain,bind,Recursion,Dns,Subdomain,Bind,这个问题/情景让我很困惑。请帮忙 假设我们有3个DNS服务器—A、B和C。 A:缓存服务器;它为Internet上dns名称的递归查找提供服务。 B:为example.com服务的主DNS服务器 C:主DNS服务器,它的服务器sub.example.comC不应该这样做 权威名称服务器,如您的示例中的B和C,应该只响应对其具有权威的区域的查询。对于任何其他查询,他们应该回答拒绝或SERVFAIL。这既是出于安全原因(您不希望您的服务器被DDoS攻击滥用),也是出于管理员的理智考虑。由此可知,权威

这个问题/情景让我很困惑。请帮忙

假设我们有3个DNS服务器—A、B和C。
A:缓存服务器;它为Internet上dns名称的递归查找提供服务。
B:为example.com服务的主DNS服务器

C:主DNS服务器,它的服务器sub.example.comC不应该这样做

权威名称服务器,如您的示例中的B和C,应该只响应对其具有权威的区域的查询。对于任何其他查询,他们应该回答
拒绝
SERVFAIL
。这既是出于安全原因(您不希望您的服务器被DDoS攻击滥用),也是出于管理员的理智考虑。由此可知,权威服务器永远不应该发送自己的查询,它们只响应所发送的查询。因此,在您的情况下,当被问及
google.com
时,B和C都应该拒绝回答

递归服务器,如您的示例中的一个,是向外发送查询到其他服务器的服务器。A应该以正常的方式从根目录下递归来响应对
google.com
的查询

由此产生的另一件事是,在B和C上运行的其他进程不能使用本地名称服务器守护进程进行名称解析(因为它们只对其身份验证区域负责)。因此,在B和C上,
resolv.conf
应该指向服务器A。如果他们的查询是针对
example.com
sub.example.com
A将返回并查询B或C上的auth服务器,以便它可以响应原始查询

(当然,所有这些都假设您没有进行split horizon或其他更复杂的设置,但即使如此,如果您可以清楚地将权威服务器和解析服务器分开,也会让事情变得更容易理解。)


这对您来说更清楚了吗?

根据您提供的答案,所有客户端是否都应该使用A作为其主要DNS服务器,并且A是否应该拥有指向*.example.com域的B或C的[root.hint]文件或[forwarders]?所有客户端都应该使用A,是的。A应该有根提示,这样它就有地方开始递归了。如果
example.com
是一个正常的公共领域,a不需要特别的知识,a会以通常的方式通过它的父母找到它。如果它是不能递归到的仅本地域,则需要在a的配置中指出它。