DHCP 与 DNS 集成

DHCP 服务器 · 第 6 篇 · 适用于 Windows Server 2019 / 2022 / 2025

📖 目录

  1. DHCP 与 DNS 集成概述
  2. 启用 DNS 动态更新
  3. 配置更新方式
  4. 验证 DNS 记录
  5. 常见问题

1. DHCP 与 DNS 集成概述

启用 DHCP-DNS 集成后,DHCP 服务器在为客户端分配 IP 时会自动向 DNS 服务器注册(A 记录)和更新(PTR 记录),客户端 IP 变化时 DNS 记录自动更新,无需手动维护。

更新模式

模式DHCP 操作客户端操作适用场景
仅客户端不更新客户端自行注册域成员(推荐)
仅 DHCP代为注册 A + PTR非域成员、Linux、IoT
两者都启用客户端不更新时 DHCP 接管优先由客户端更新混合环境
💡 推荐配置

域环境下选择「仅在客户端请求时动态更新 DNS 记录」(默认值),这是最安全的模式。

2. 启用 DNS 动态更新

1

DHCP 管理器 → 右键 dc1.iehang.cn「属性」

2

切换到 「DNS」 选项卡

3

勾选「根据以下设置启用 DNS 动态更新」

4

选择「仅在 DHCP 客户端请求时动态更新 DNS A 和 PTR 记录」

5

勾选「为不请求更新的 DHCP 客户端动态更新 DNS A 和 PTR 记录」(适用于非域设备)

6

勾选「丢弃 A 和 PTR 记录」(租约删除时清理 DNS 记录)→ 确定

PowerShell - DNS 集成
# 启用 DNS 动态更新(推荐模式)
Set-DhcpServerv4DnsSetting -ComputerName "dc1.iehang.cn" `
  -DynamicUpdates "OnClientRequest" `
  -DeleteDnsRRonLeaseExpiry $true

# 如需支持非域设备,启用 Always 模式
Set-DhcpServerv4DnsSetting -ComputerName "dc1.iehang.cn" `
  -DynamicUpdates "Always" `
  -UpdateDnsRRForOlderClients $true `
  -DeleteDnsRRonLeaseExpiry $true

# 验证设置
Get-DhcpServerv4DnsSetting -ComputerName "dc1.iehang.cn"

3. 配置 DNS 凭据

当 DNS 区域设置为安全更新时,DHCP 服务器需要凭据才能更新 DNS 记录:

1

DHCP 管理器 → 服务器属性 → 「高级」 选项卡

2

点击「凭据」 → 输入有权限更新 DNS 的域账号和密码

3

建议创建专用服务账号如 DHCP-DNS-Updater,授予 DNS 区域的写入权限

PowerShell - DNS 凭据
# 设置 DNS 更新凭据
Set-DhcpServerDnsCredential -ComputerName "dc1.iehang.cn" `
  -Domain "iehang.cn" `
  -UserName "DHCP-DNS-Updater" `
  -Password "P@ssw0rd2024"

# 查看当前凭据
Get-DhcpServerDnsCredential -ComputerName "dc1.iehang.cn"

4. 验证 DNS 记录

PowerShell - 验证 DNS 记录
# 查看正向查找区域的 A 记录
Get-DnsServerResourceRecord -ComputerName "dc1.iehang.cn" `
  -ZoneName "iehang.cn" -RRType A | Where-Object {
  $_.HostName -notmatch "^(dc1|dc2)$"
}

# 查看反向查找区域的 PTR 记录
Get-DnsServerResourceRecord -ComputerName "dc1.iehang.cn" `
  -ZoneName "10.168.192.in-addr.arpa" -RRType Ptr

# 测试某客户端的解析
Resolve-DnsName -Name "client01.iehang.cn" -Type A

5. 常见问题

Q1:DNS 记录没有自动更新?

检查 DNS 区域是否允许动态更新(属性 → 常规 → 动态更新选"安全"或"非安全")。检查 DHCP 服务器属性 DNS 选项卡。

Q2:旧记录未清理?

确保勾选了"丢弃 A 和 PTR 记录"。也可以运行 dnscmd / scavengetime 配置老化清理。

Q3:非域设备需要 DHCP 注册 DNS 吗?

需要。设置为 Always 模式,DHCP 会代替这些设备更新 DNS。