必须严格限定区域传送至指定域控制器IP地址,禁用NS自动判断和任意访问;启用TSIG签名防IP伪造;辅助服务器设为只读且禁用动态更新;每日校验SOA序列号并审计日志。
要让本地 dns 管理器只允许特定域控制器同步区域(即限制区域传送),核心是在主 dns 区域上精确配置“区域传送”白名单,并配合辅助服务器的只读与 tsig 加强验证。这不是靠“域控制器身份”自动识别,而是基于 ip 地址和密钥控制。
明确指定可同步的域控制器 IP 地址
Windows DNS 不认主机名、不支持 CIDR 或通配符,必须填真实 IPv4/IPv6 地址。
- 在 DNS 管理器中,右键主区域 → “属性” → 切换到“区域传送”选项卡
- 勾选“允许区域传送”,再选择“仅以下服务器”
- 点击“编辑”,逐条输入目标域控制器的静态 IP 地址(例如
10.1.2.5、10.1.2.12) - 确保没勾选“允许所有服务器”或“仅允许下列 IP 地址范围”——后者在 Windows 中无效
常见错误:填
dc01.contoso.com或10.1.2.0/24→ 同步失败,日志报 Event ID 4515
辅助服务器必须设为只读且禁用动态更新
域控制器若托管辅助区域,该区域不能被写入或反向推送变更。
- 在辅助服务器的 DNS 管理器中,右键对应辅助区域 → “属性” → “常规”选项卡
- 确认“区域类型”显示为“辅助区域”
- “动态更新”下拉菜单必须选为 “不允许任何动态更新”
- 若误设为“非安全和安全”,DHCP 或客户端可能篡改记录,导致主辅数据冲突
推荐启用 TSIG 签名防止 IP 伪造攻击
IP 白名单可被源地址欺骗绕过,尤其跨网段或 DMZ 场景。TSIG 是更可靠的验证方式。
- 主服务器上创建密钥(PowerShell 示例):
Set-DnsServerPrimaryZone -Name "contoso.com" -NotifyLevel Notify -SecondaryServers 10.1.2.5,10.1.2.12 -TsigKey "tsig-key-contoso" -TsigAlgorithm HMAC-SHA256
- 辅助服务器新建辅助区域时,在向导最后一步必须填写完全相同的密钥名称(大小写敏感)
- 密钥本身不传输,只用于请求签名校验;主辅名称或算法不一致 → 持续记录 Event ID 4515
验证同步是否真正生效
界面显示“辅助区域已创建”不等于数据已同步。需交叉检查:
- 主服务器执行:
dnscmd /zoneinfo contoso.com→ 记下 SOA 序列号 - 辅助服务器执行同命令 → 序列号必须一致
- 实际解析测试:
nslookup host1.contoso.com <辅助服务器IP>,确认返回正确 A 记录
不复杂但容易忽略


















