默认情况下,DNS 服务器会代表其 DNS 客户端以及已将 DNS 客户端查询转发给它的 DNS 服务器执行递归查询。递归是一项名称解析技术,借助此技术,DNS 服务器可以代表进行申请的客户端来查询其他的 DNS 服务器以完全解析名称,然后将应答发回客户端。

攻击者可以使用递归来拒绝 DNS 服务器服务。因此,如果网络中的 DNS 服务器不准备接收递归查询,则应在该服务器上禁用递归。

Administrators 组中的成员身份或等效身份是完成此过程所需的最低要求。 查看有关使用适当帐户和组成员关系的详细信息,请访问 https://go.microsoft.com/fwlink/?LinkId=83477(可能为英文链接)。

在 DNS 服务器上禁用递归

使用 Windows 界面在 DNS 服务器上禁用递归的步骤
  1. 打开 DNS 管理器。

  2. 在控制台树中,右键单击适用的 DNS 服务器,然后单击“属性”

    位置?

    DNS/applicable DNS server

  3. 单击“高级”选项卡。

  4. “服务器选项”中,选中“禁用递归”复选框,然后单击“确定”

其他注意事项

  • 要打开 DNS 管理器,请单击「开始」,指向“管理工具”,然后单击“DNS”。

  • 如果在 DNS 服务器上禁用递归,将无法在同一服务器上使用转发器。

使用命令行在 DNS 服务器上禁用递归的步骤
  1. 打开命令提示符。

  2. 键入以下命令,然后按 Enter:

    dnscmd <ServerName> /Config /NoRecursion {1|0}

参数 描述

dnscmd

指定用于管理 DNS 服务器的命令行工具的名称。

<ServerName>

必需。指定 DNS 服务器的 DNS 主机名称。还可以键入 DNS 服务器的 IP 地址。若要指定本地计算机上的 DNS 服务器,还可以键入句点 (.)。

/Config

必需。表示该命令用于配置指定服务器。

/NoRecursion

必需。禁用递归。

{1|0}

必需。若要禁用递归,请键入 1(关闭)。如要启用递归,请键入 0(打开)。默认情况下,递归处于启用状态。

若要查看此命令的完整语法,请在命令提示符下,键入以下命令,然后按 Enter:

dnscmd /Config /help 

其他注意事项

  • 要打开提升的“命令提示符”窗口,请单击「开始」,指向“所有程序”,单击“附件”,右键单击“命令提示符”,然后单击“以管理员身份运行”。

  • 如果在 DNS 服务器上禁用递归,将无法在同一服务器上使用转发器。

其他参考


目录