本页面将指导您首次在 Windows 系统上安装 BIND。如果您要从一个版本升级到另一个版本(例如从 9.16.7 升级到 9.16.9),请阅读升级指南。
步骤 1:安装 Microsoft Windows Server
本指南假设您已成功安装并运行 Microsoft Windows Server。文中的说明和屏幕截图均基于带有图形用户界面的 Windows Server 2019 标准版,但其他版本也应类似。
本文不涉及 Windows Server 的安装,但简而言之,标准的 Windows Server 安装即可。无需添加任何角色或功能,BIND 的安装过程会自动处理所有依赖项,例如 Visual C++ 运行时库。
请确保您的 Windows 服务器已完全打好补丁并保持最新状态,然后继续执行步骤 2。
步骤 2:下载适用于 Windows 的 BIND
请从这里下载最新版本的 Windows 版 BIND: https: //www.isc.org/download/
向下滚动页面,点击BIND 9。然后点击最新稳定版旁边的蓝色“下载”按钮。此时会弹出一个窗口,其中一个选项是BIND9.{版本号}.zip – win 64-bit 。这就是你需要的版本。通常情况下,你应该选择标记为“稳定版”的版本。我不建议在生产服务器上运行开发版。
我强烈建议您使用WinMD5之类的工具来验证您下载文件的签名。这样可以确保您下载的是正版文件,并且您的下载没有被拦截。
下载完压缩文件后,您需要解除阻止。否则,Windows 将不允许运行该可执行文件,这会导致在安装和运行 BIND 时出现各种意外错误。找到下载的文件,右键单击并选择“属性”,然后勾选“解除阻止”复选框(如下图所示),最后单击“确定”。

完成上述步骤后,您可以右键单击下载的 zip 文件,像往常一样将其解压缩。目前只需将其解压缩到临时文件夹即可,安装程序会自动创建 BIND 实际安装的文件夹。
步骤 3:首次安装 BIND
现在您可以开始安装 BIND 了。从您解压 zip 文件的文件夹中运行BINDInstall.exe。您将看到以下安装配置小程序:

请注意,如果您使用除内置本地管理员帐户之外的其他帐户登录,安装小程序可能无法创建您希望用于ISC BIND服务的用户帐户。即使您的用户帐户是本地管理员组的成员,即使您右键单击并选择“以管理员身份运行”,也仍然无法正常工作。因此,您可能需要使用内置本地管理员帐户登录后执行下一步操作。
将目标目录设置为您希望安装 BIND 的位置。没有“浏览…”按钮,如果您对建议的默认目录不满意,则需要覆盖它。该文件夹无需预先存在,安装程序会在必要时创建它。
请注意,本指南的其余部分假定安装文件夹为C:\BIND。这样在配置文件中指定路径或从命令行运行工具时会方便得多。
接下来,确定您要使用的“服务帐户名称”。这是ISC BIND服务运行所使用的用户帐户。切勿在此处输入“Administrator”!这样做非常危险,因为这意味着如果有人成功利用您的 BIND 实例,他们将拥有对您的 Windows 服务器的完全控制权。请为该服务选择一个唯一的用户名,并设置一个足够安全的密码。与目标目录一样,该用户名无需预先存在。安装程序将使用指定的密码创建用户帐户,并授予其相应的“作为服务登录”权限。
勾选“自动启动”(这样ISC BIND服务会在服务器启动时自动启动),并且我建议同时勾选“卸载后保留配置文件”。这样,如果您因任何原因需要卸载/重新安装 BIND,就能确保您的配置文件不会被修改。
我建议不要勾选“安装后启动 BIND 服务”,因为我们需要先更新配置文件,以便 BIND 知道它在做什么!
点击“安装”,安装程序将开始安装过程。
如果您没有安装Microsoft Visual C++ 2017 运行时(您为什么要安装呢?!),那么安装程序将为您安装它。
如果一切顺利,您将收到相应的成功消息:

如果您切换到使用内置的管理员帐户,那么现在可以注销并以普通用户帐户重新登录。
步骤 4:允许 BIND 通过防火墙
BIND 默认监听UDP 端口 53和TCP 端口 53。很多人误以为 DNS 查询和响应仅通过 UDP 进行,这是错误的。任何超过 512 字节的 DNS 查询或响应都会通过 TCP 发送,包括大量的 DNS TXT 记录响应(尤其是 SPF 记录)。当然,DNS over HTTPS 和 DNSSEC 也完全通过 TCP 进行(前者使用 TCP 端口 443)。
因此,请确保允许 UDP 和 TCP 53 端口的入站连接,并允许 BIND/named 使用任何端口建立出站连接。
Infoblox 有一篇很棒的文章,讨论了 BIND 对 UDP 和 TCP 的使用,点击此处查看。
步骤 5:将 BIND 添加到您的路径
您需要通过命令行控制 BIND 的某些功能,因此将 BIND 安装目录添加到 PATH 环境变量中会方便很多。BIND 的所有命令行实用程序都存储在安装文件夹的bin 子文件夹中。

步骤 6:设置正确的文件系统权限
我们需要授予服务帐户对 BIND 安装文件夹的修改和写入权限。否则,BIND 服务将无法写入日志文件、更新配置文件(例如动态 DNS 更新)或维护自身的缓存。
右键单击 BIND 安装文件夹,转到“属性” > “安全” > “编辑…”
点击“添加…”
输入您在安装过程中指定的服务帐户名称
点击“检查名称”(确保账户已被识别),然后点击“确定”。
勾选“允许修改”和“允许写入”复选框
无需完全控制(而且,出于安全考虑,不应授予完全控制权)
点击“确定” ,然后再点击“确定” 。
步骤 7:配置 BIND
您在此处采取的步骤取决于您是设置仅用于缓存的名称服务器(例如,您使用此服务器为局域网内的客户端提供 DNS 解析),还是使用此服务器作为一个或多个域名(在 DNS 术语中称为“区域”)的权威服务器。请根据您的预期用途参阅以下指南之一: