有没有办法通过服务器上托管的DNS禁用递归查询,同时仍允许源自服务器的DNS查询正常工作?
没有Microsoft的DNS服务器,没有。
借助ISC的DNS服务器BIND,人们可以将各种事物与观点融合在一起。Microsoft的DNS服务器没有这种机制。因此,对于任何给定的Microsoft DNS服务器实例,都必须选择它是公共内容 DNS服务器还是站点本地代理 DNS服务器。它不能使事物变得僵化,并假装成为不同DNS客户端的不同类型的服务器。
安全测试服务/工具是正确的。这是最好的做法是不能提供代理服务- 任何类型的代理服务:无论是HTTP代理服务,DNS代理服务,或SMTP提交服务-互联网其余outwith一个自己的网站。您非常应该拥有单独的服务器:内容DNS服务器,将有关您已注册域名的公共DNS数据发布给Internet上的每个人;还有一个本地代理DNS服务器,它代表您的LAN /组织的计算机完成查询解析的繁重工作,并且只能由您组织/ LAN上的计算机访问。使用Microsoft的DNS服务器,这并不是特别容易。
如果您的计算机也是域控制器,这将特别困难。您声明可以从整个Internet直接访问此计算机。如果这样一台机器是域控制器,那么你应该重新考虑你的网络组织现在。您将向公众公开很多内部服务,而不仅仅是代理DNS服务。因此,让我们假设这不是域控制器。
由于它不是域控制器,而仅仅是成员服务器,因此您无需要求计算机上的DNS 客户端应使用计算机自己的DNS 服务器(或最初是另一个域控制器的DNS服务器)作为代理DNS服务,域控制器就是这种情况。如果有,您将无法在计算机的DNS服务器上关闭代理DNS服务。幸运的是,它不是域控制器,它的DNS客户端可以使用其他机器来提供代理DNS服务,而不是本身。
但是,成员服务器计算机上的DNS客户端仍必须使用内部代理DNS服务器。您不能仅将其指向某个外部DNS服务器,例如您的ISP,Google或任何其他不知道Active Directory在您的LAN上使用的所有DNS数据的第三方提供的服务器。但是,您可以将计算机的DNS客户端指向一个或多个域控制器上的DNS服务器。这非常简单,而且毕竟是您在LAN 上所有工作站上已经完成的工作。只需像在所有工作站上的DNS客户端一样配置成员服务器上的DNS客户端即可。
假设您的计算机的DNS客户端未使用计算机上运行的DNS服务器提供代理DNS服务,则只需将Microsoft的DNS服务器配置为不向任何人提供任何形式的代理DNS服务。
进一步阅读