DNS 服务器基础概念(快速回顾)
在深入 Server 2012 之前,我们先简单回顾一下 DNS 是什么。

- DNS (Domain Name System):域名系统,是互联网的核心服务之一,它就像互联网的“电话簿”,负责将人类易于记忆的域名(
www.google.com)解析为机器能够识别的 IP 地址(250.191.78)。 - 记录类型:DNS 数据库中存储了各种类型的记录,常见的有:
- A 记录:将主机名映射到 IPv4 地址。
- AAAA 记录:将主机名映射到 IPv6 地址。
- PTR 记录:反向记录,将 IP 地址映射到主机名(反向解析)。
- CNAME 记录:别名记录,将一个域名指向另一个域名。
- MX 记录:邮件交换记录,指定负责处理该域名邮件的服务器。
- NS 记录:域名服务器记录,指定该区域的权威 DNS 服务器。
- SOA 记录:起始授权机构记录,包含区域的管理信息(如主服务器、管理员邮箱、序列号等)。
在 Server 2012 上安装 DNS 服务器
在 Server 2012 中,安装角色通常通过 服务器管理器 完成。
- 打开服务器管理器:点击任务栏上的服务器管理器图标,或通过“开始”菜单找到。
- 添加角色和功能:在服务器管理器的“管理”菜单中,选择“添加角色和功能”。
- 安装向导:点击“下一步”,直到到达“选择服务器角色”页面。
- 选择 DNS 服务器:
- 在角色列表中,展开“Active Directory 域服务”。
- 勾选“DNS 服务器”。
- 系统可能会弹出“添加功能必需吗?”的对话框,点击“添加功能”,然后点击“下一步”。
- 确认安装:在“确认安装选择”页面,点击“安装”。
- 完成:安装完成后,点击“关闭”。
安装完成后,DNS 服务会自动启动,并配置为在系统启动时自动运行。
DNS 管理控制台
安装完成后,你可以通过以下方式打开 DNS 管理控制台:
- 服务器管理器:点击“工具” -> “DNS”。
- 运行:按
Win + R,输入dnsmgmt.msc并回车。
控制台界面如下,左侧是服务器和区域的树状结构,右侧是详细信息窗口。

核心功能与配置详解
创建区域
区域是 DNS 服务器上管理的一个连续的 DNS 命名空间,Server 2012 支持三种主要区域类型:
-
主要区域:
- 包含该区域所有 DNS 记录的可写的主副本。
- 所有更改都直接在此服务器上进行。
- 适用于小型网络或作为权威 DNS 服务器。
- 存储方式:默认存储在 Active Directory 中(如果服务器是域成员),或存储在 Active Directory 域林之外的服务器上的文件中。
-
辅助区域:
- 从主要区域或另一台辅助区域服务器复制数据的只读副本。
- 主要作用是负载均衡和冗余/容灾,如果主 DNS 服务器宕机,辅助服务器可以继续提供服务。
- 不能直接在辅助区域上添加或修改记录。
-
Active Directory 集成的区域:
(图片来源网络,侵删)- 这是 Server 2012 及更高版本强烈推荐的区域类型。
- 区域数据直接存储在 Active Directory 数据库中。
- 优点:
- 高可用性:只要域中还有其他域控制器,DNS 服务就不会因为单点故障而中断。
- 安全:利用 AD 的 ACL(访问控制列表)来精细控制谁可以管理 DNS 记录。
- 多主机复制:任何一台被授权的域控制器都可以直接更新区域数据,并自动复制到其他域控制器,无需配置区域传送。
如何创建区域? 在 DNS 控制台中,右键点击“正向查找区域”或“反向查找区域”,选择“新建区域...”,然后按照向导提示选择区域类型、区域名称等。
资源记录管理
创建区域后,你可以在其中添加各种资源记录。
-
添加主机记录:
- 右键点击你的区域,选择“新建主机 (A 或 AAAA)”。
- 输入名称(
www)和 IP 地址。 - 重要选项:勾选“创建相关的指针 (PTR) 记录”,这会自动在反向查找区域中创建 PTR 记录,实现正向和反向解析的对应。
- 勾选“允许任何经过身份验证的用户更新关联的指针记录”可以简化管理,但需注意安全风险。
-
添加其他记录:
右键点击区域,选择“新建记录...”,然后选择要创建的记录类型(CNAME, MX 等)。
转发器
转发器用于将 DNS 查询转发到另一台 DNS 服务器,通常是你的 ISP 的 DNS 服务器或上游的 DNS 服务器。
-
作用:
- 减轻内部 DNS 服务器负担:对于外部域名(如
www.baidu.com),本地 DNS 服务器不需要自己去互联网上查询,而是转发给更专业的服务器处理。 - 提高解析速度:转发器通常有缓存,可以快速返回结果。
- 控制出站流量:可以强制所有外部查询都通过指定的服务器。
- 减轻内部 DNS 服务器负担:对于外部域名(如
-
配置方法: 在 DNS 控制台中,右键点击服务器名称,选择“属性”,切换到“转发器”选项卡,添加 IP 地址并设置“不使用递归”的选项(通常不勾选,让转发器处理递归查询)。
条件转发器
标准转发器会将所有未知域名的查询都转发到同一台服务器,而条件转发器可以根据域名,将查询转发到特定的 DNS 服务器。
-
典型场景:
- 你的公司网络有两个通过防火墙或 VPN 连接的 Active Directory 林(
contoso.com和fabrikam.com)。 - 你希望林 A 的 DNS 服务器能够直接解析林 B 的计算机名,而不需要查询互联网。
- 你可以配置一个条件转发器,将所有对
fabrikam.com的查询都转发到林 B 的 DNS 服务器 IP 地址。
- 你的公司网络有两个通过防火墙或 VPN 连接的 Active Directory 林(
-
配置方法: 在 DNS 控制台中,右键点击服务器名称,选择“条件转发器...”,然后添加要转发的域名和对应的 DNS 服务器 IP 地址。
动态更新
这是 DNS 的一项重要功能,允许客户端计算机自动在 DNS 服务器上注册和更新其记录。
-
安全动态更新:
- 当区域设置为“Active Directory 集成”时,可以启用“只有安全动态更新”。
- 只有经过身份验证的域计算机才能更新自己的记录,防止恶意设备篡改 DNS 记录。
- 这是域环境中的最佳实践。
-
非安全动态更新:
- 任何客户端都可以更新记录,非常不安全,不推荐使用。
DNS 缓存
- 当 DNS 服务器解析一个查询后,它会将结果(记录和 TTL 值)存储在缓存中。
- 当其他客户端请求相同的记录时,DNS 服务器可以直接从缓存中响应,而无需再次查询,从而提高响应速度。
- 你可以使用
dnscmd命令行工具来查看和清除缓存:dnscmd /displaycache:显示缓存内容。dnscmd /clearcache:清除所有缓存记录。
最佳实践
- 优先使用 Active Directory 集成区域:在域环境中,这是实现高可用性和安全性的首选。
- 启用安全动态更新:确保只有合法的设备可以修改 DNS 记录。
- 配置 DNS 转发器:将外部 DNS 查询转发到可靠的 ISP 或上游服务器,而不是让每台服务器都直接向互联网根服务器查询。
- 规划好 DNS 布局:为每个子网至少部署一台 DNS 服务器,并将客户端的 TCP/IP 属性中的首选 DNS 指向本地子
