AD 域默认 DNS 配置完整案例
本文详细介绍了Windows Server 2019域环境的DNS配置方案。主要内容包括:域控服务器DC01(192.168.10.10)和DC02(192.168.10.11)的网卡DNS设置原则(域控互指、不填公网DNS);AD安装时的DNS选项配置;DNS转发器设置(223.5.5.5和114.114.114.114);客户端DNS配置规范(只指向域控);以及通过组策略强制推送DNS设置的方
·
环境:Windows Server 2019,域名为 corp.example.com。
一、环境规划(案例参数)
- 域控 DC01:192.168.10.10/24,网关 192.168.10.1
- 域控 DC02:192.168.10.11/24(额外域控)
- 域名:
corp.example.com - 外网转发:223.5.5.5、114.114.114.114
- 客户端:DNS 只写域控,不写公网 DNS

二、域控网卡 DNS 配置(关键!)
1)第一台域控 DC01(安装 AD+DNS 前)
- 静态 IP:192.168.10.10
- 首选 DNS:192.168.10.10(指向自己)
- 备用 DNS:留空(单域控不要填公网)
2)第二台域控 DC02(额外域控)
- 静态 IP:192.168.10.11
- 首选 DNS:192.168.10.10(指向 DC01)
- 备用 DNS:192.168.10.11(自己)
- 等复制正常后,可互换
原则:域控网卡 DNS 只写域内 DNS,不写公网;多域控互相指向,避免单点故障。
三、安装 AD 时的 DNS 选项
运行 dcpromo 或服务器管理器安装 AD DS:
- 勾选:DNS 服务器
- DNS 选项页:
- 选择:创建新域林
- 根域名:
corp.example.com - 勾选:动态更新

安装完成后,DNS 会自动生成:
corp.example.com正向区域_msdcs.corp.example.com(AD 必需)
四、DNS 管理器配置(转发器+静态记录)
1)设置外网转发器(域控上网用)
- 打开 DNS 管理器 → 服务器名 → 转发器
- 新建转发器:
- 223.5.5.5
- 114.114.114.114
- 勾选:如果没有转发器可用,请使用根提示

2)添加域控 A 记录(自动生成,核对即可)
- DC01:A → 192.168.10.10
- DC02:A → 192.168.10.11
五、域内客户端/服务器 DNS 配置(默认)
1)手动设置(静态 IP 机器)
- 首选 DNS:192.168.10.10
- 备用 DNS:192.168.10.11
- 不要填公网 DNS(会导致域解析异常)
2)DHCP 服务器选项(自动下发)
DHCP → 作用域 → 选项配置:
- 006 DNS 服务器:192.168.10.10, 192.168.10.11
- 015 DNS 域名:corp.example.com
3)组策略强制推送 DNS(域内所有机器)
- 新建 GPO:
Set-DNS-Corp - 计算机配置 → 策略 → 网络 → DNS 客户端:
- DNS 服务器:192.168.10.10,192.168.10.11
- DNS 后缀:
corp.example.com
- 链接到 整个域/所有 OU
六、命令行配置(可直接复制)
1)设置网卡 DNS(DC01)
netsh interface ip set dns "以太网" static 192.168.10.10 primary
netsh interface ip add dns "以太网" 127.0.0.1 index=2
2)设置转发器(PowerShell)
Add-DnsServerForwarder -IPAddress 223.5.5.5
Add-DnsServerForwarder -IPAddress 114.114.114.114
七、验证(必做)
1)域控验证
nslookup corp.example.com
nslookup dc01.corp.example.com
dcdiag /test:dns
2)客户端验证
ping dc01
ping corp.example.com
nslookup 百度.com # 走转发器
八、常见坑
- ❌ 域控网卡 DNS 填公网:AD 复制/登录慢、组策略异常
- ❌ 客户端只填公网 DNS:加域失败、找不到域控
- ✅ 正确:域控互指+转发器;客户端只指域控
PowerShell 脚本,包含域控、转发器等核心配置,适配案例环境。
# ------------- 核心参数配置(按需修改)-------------
$dc01Ip = "192.168.10.10"
$dc02Ip = "192.168.10.11"
$domainName = "corp.example.com"
$forwarder1 = "223.5.5.5"
$forwarder2 = "114.114.114.114"
$nicName = "以太网"
# ------------- 1. 第一台域控(DC01)网卡DNS配置 -------------
Write-Host "=== 开始配置DC01网卡DNS ===" -ForegroundColor Green
# 清除现有DNS配置
netsh interface ip delete dns $nicName all
# 设置首选DNS为自身,备用DNS为127.0.0.1(兜底)
netsh interface ip set dns $nicName static $dc01Ip primary
netsh interface ip add dns $nicName 127.0.0.1 index=2
Write-Host "DC01网卡DNS配置完成:首选$dc01Ip,备用127.0.0.1" -ForegroundColor Green
# ------------- 2. 第二台域控(DC02)网卡DNS配置 -------------
Write-Host "`n=== 开始配置DC02网卡DNS ===" -ForegroundColor Green
# 清除现有DNS配置
netsh interface ip delete dns $nicName all
# 设置首选DNS为DC01,备用DNS为自身
netsh interface ip set dns $nicName static $dc01Ip primary
netsh interface ip add dns $nicName $dc02Ip index=2
Write-Host "DC02网卡DNS配置完成:首选$dc01Ip,备用$dc02Ip" -ForegroundColor Green
# ------------- 3. DNS转发器配置(所有域控通用)-------------
Write-Host "`n=== 开始配置DNS转发器 ===" -ForegroundColor Green
# 清除现有转发器(可选,避免重复)
Remove-DnsServerForwarder -IPAddress * -ErrorAction SilentlyContinue
# 添加外网转发器
Add-DnsServerForwarder -IPAddress $forwarder1
Add-DnsServerForwarder -IPAddress $forwarder2
# 启用根提示(无转发器时兜底)
Set-DnsServerRootHint -Enable $true
Write-Host "DNS转发器配置完成:$forwarder1、$forwarder2" -ForegroundColor Green
# ------------- 4. 组策略推送DNS(域内所有机器)-------------
Write-Host "`n=== 开始创建组策略,强制推送DNS ===" -ForegroundColor Green
# 1. 创建GPO
New-GPO -Name "Set-DNS-Corp" -Comment "域内机器DNS强制配置" | Out-Null
# 2. 配置GPO:设置DNS服务器和DNS后缀
$gpoPath = "CN=Set-DNS-Corp,CN=Policies,CN=System,DC=corp,DC=example,DC=com"
# 配置DNS服务器(替换为实际域控IP)
Set-GPRegistryValue -Name "Set-DNS-Corp" -Key "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient" -ValueName "NameServer" -Type String -Value "$dc01Ip,$dc02Ip"
# 配置DNS后缀
Set-GPRegistryValue -Name "Set-DNS-Corp" -Key "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient" -ValueName "Domain" -Type String -Value $domainName
# 3. 将GPO链接到整个域
New-GPLink -Name "Set-DNS-Corp" -Target "DC=corp,DC=example,DC=com" -LinkEnabled Yes | Out-Null
Write-Host "组策略配置完成:已创建Set-DNS-Corp,链接到整个域,强制推送DNS为$dc01Ip、$dc02Ip" -ForegroundColor Green
# ------------- 5. 配置验证(可选,手动执行)-------------
Write-Host "`n=== 配置完成!建议执行以下命令验证 ===" -ForegroundColor Cyan
Write-Host "1. 域控DNS验证:nslookup $domainName"
Write-Host "2. 转发器验证:nslookup 百度.com"
Write-Host "3. 域控健康检查:dcdiag /test:dns"
Write-Host "`n脚本执行完毕!" -ForegroundColor Green
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)