【第2季第3篇】Windows Server 2022 DHCP:Failover 高可用、Policy 条件分配与审计日志
系列:爱依航 · Windows Server 2022 运维系列
本篇主题:DHCP 服务器部署与高可用配置(WS2022 新版)
环境:DHCP 服务器 192.168.10.11 + 192.168.10.21(备份)
开篇:DHCP 挂了意味着什么
不是"有些电脑没网"。
是"所有电脑同时没网"——因为所有设备都靠 DHCP 自动获取 IP,断了 DHCP,192.168.10.x 网段瞬间变成 169.254.x.x 的孤岛。
所以 DHCP 必须做高可用,而不是等到故障发生才后悔。
WS 2022 的 DHCP Failover 机制比 WS 2019 更稳定,支持更灵活的负载均衡策略。
Part 1 · WS 2022 DHCP 基础部署
# 安装 DHCP 服务器角色
Install-WindowsFeature -Name DHCP -IncludeManagementTools
# 授权 DHCP(域环境下必须)
Add-DhcpServerInDC -DnsName "dhcp.iehang.cn" -IPAddress 192.168.10.11
# 创建作用域
Add-DhcpServerv4Scope -Name "iehang.cn 办公网段" `
-StartRange 192.168.10.100 `
-EndRange 192.168.10.200 `
-SubnetMask 255.255.255.0 `
-LeaseDuration 8.00:00:00 `
-State Active
# 配置 DHCP 选项
Set-DhcpServerv4OptionValue -ScopeId 192.168.10.0 `
-OptionId 3 -Value 192.168.10.1 # 路由器
Set-DhcpServerv4OptionValue -ScopeId 192.168.10.0 `
-OptionId 6 -Value 192.168.10.10 # DNS 服务器
Set-DhcpServerv4OptionValue -ScopeId 192.168.10.0 `
-OptionId 15 -Value "iehang.cn" # DNS 后缀
# 激活作用域
Set-DhcpServerv4Scope -ScopeId 192.168.10.0 -State Active
Part 2 · DHCP Failover 高可用配置(WS 2022 重点)
两种模式对比
| 模式 | 适用场景 | IP 分配方式 |
| ------ | --------- | ------------ |
|---|---|---|
| 热备用(Hot Standby) | 一主一备,主故障后接管 | 主用 100%,备用 0% |
| 负载均衡(Load Balance) | 双活并行,性能扩展 | 各自 50%(可调) |
推荐使用负载均衡模式,两台 DHCP 同时服务,故障时无需切换,客户端无感知。
配置 DHCP Failover(负载均衡模式)
前提:两台 DHCP 服务器均已安装 DHCP 角色,且主 DHCP 已配置作用域。
# 在主 DHCP 服务器上执行(192.168.10.11)
Add-DhcpServerv4Failover `
-Name "iehang-cn-failover" `
-PartnerServer "192.168.10.21" `
-ScopeId 192.168.10.0 `
-ServerRole Active `
-LoadBalancingMode Enabled `
-MaxClientLeadTime 1.00:00:00 `
-State Switchover:$false `
-AutoStateTransition Enabled `
-SharedSecret (ConvertTo-SecureString "DhcpFailoverSecret2024!" -AsPlainText -Force) `
-Force
# 参数说明:
# LoadBalancingMode:启用负载均衡
# MaxClientLeadTime:备用服务器接管前等待时间(1小时)
# AutoStateTransition:主服务器断连后自动切换
验证 Failover 状态
# 查看 Failover 关系状态
Get-DhcpServerv4Failover -Name "iehang-cn-failover"
# 查看每台服务器的租约统计
Get-DhcpServerv4ScopeStatistics -ComputerName 192.168.10.11 -ScopeId 192.168.10.0
Get-DhcpServerv4ScopeStatistics -ComputerName 192.168.10.21 -ScopeId 192.168.10.0
- 两台服务器 State:PartnerDown(正常通信)或 Normal(运行中)
- Total 和 Free 租约数量两台接近(负载均衡模式)
正常状态应显示:
Part 3 · DHCP Policy 条件分配(WS 2022 增强)
WS 2022 支持更细粒度的 DHCP Policy,可以根据 MAC 地址前缀、Vendor Class、User Class 等条件分配不同配置。
场景:办公电脑和 IP 摄像头走不同地址池
# 场景:IP 摄像头 MAC 地址前缀为 00-1A-8B-*,分配固定段
# 步骤一:为摄像头创建保留策略(使用 Policy 方式更灵活)
Add-DhcpServerv4Policy -Name "IP-Cameras" `
-Condition OR `
-MacAddress "EQ,001A8B*" `
-Description "IP 摄像头 DHCP 策略"
# 步骤二:创建摄像头专用的地址池
Add-DhcpServerv4Scope -Name "IP摄像头网段" `
-StartRange 192.168.10.210 `
-EndRange 192.168.10.230 `
-SubnetMask 255.255.255.0 `
-State Active
# 步骤三:将策略关联到作用域
Add-DhcpServerv4PolicyIpRange -Name "IP-Cameras" `
-ScopeId 192.168.10.0 `
-StartRange 192.168.10.210 `
-EndRange 192.168.10.230
按Vendor Class分配不同网关
# 查看当前 DHCP 策略
Get-DhcpServerv4Policy -ScopeId 192.168.10.0
# 查看策略详情
Get-DhcpServerv4Policy -Name "IP-Cameras" -ScopeId 192.168.10.0 | Select *
Part 4 · DHCP 审计日志与日常巡检
WS 2022 增强了 DHCP 审计功能,日志默认路径:C:\Windows\System32\dhcp
# 查看 DHCP 审计日志(安全事件)
Get-WinEvent -FilterHashtable @{LogName="DhcpServerEvents/Admin";StartTime=(Get-Date).AddDays(-7)} `
-MaxEvents 50 | Select TimeCreated,ID,Message
# 常用事件 ID:
# 10 = IP 租约已发放
# 11 = IP 租约已续约
# 12 = IP 租约已释放
# 13 = IP 租约已删除
# 16 = IP 租约冲突
# 70 = DHCPv6 租约事件
# 定期导出租约报告
Get-DhcpServerv4Lease -ScopeId 192.168.10.0 | `
Select IPAddress,HostName,ClientId,LeaseExpiry,State | `
Export-Csv -Path C:\Reports\DhcpLeases_$(Get-Date -Format "yyyyMMdd").csv -NoTypeInformation
# 检查地址池使用率
$stats = Get-DhcpServerv4ScopeStatistics -ScopeId 192.168.10.0
Write-Host "地址池使用率:" ([math]::Round($stats.PercentageInUse, 1)) "%"
Write-Host "已使用:" $stats.InUse "/" $stats.Total
Part 5 · 常见故障
故障一:Failover 状态为 Interrupted
# 检查两台 DHCP 服务器网络连通性
Test-NetConnection -ComputerName 192.168.10.21 -Port 647
# 检查 Failover 详细状态
Get-DhcpServerv4Failover -Name "iehang-cn-failover" -Detailed
# 重置 Failover 关系(谨慎操作)
Remove-DhcpServerv4Failover -Name "iehang-cn-failover" -Force
# 然后重新配置(见 Part 2)
故障二:DHCP Policy 不生效
# 查看策略优先级(数字越小优先级越高)
Get-DhcpServerv4Policy -ScopeId 192.168.10.0 | Sort ProcessingOrder | Select Name,ProcessingOrder,Condition
# 检查 MAC 地址前缀是否正确匹配
Get-DhcpServerv4Lease -ScopeId 192.168.10.0 | Where-Object {$_.ClientId -like "00-1A-8B*"}
故障三:客户端获取到错误租约
通常是 Policy 规则冲突,检查多个 Policy 是否有重叠条件,适当合并或禁用低优先级规则。
下期预告
WS 2022 的 WDS 改进不多,但结合 WS 2022 的新存储和网络功能,PEX 部署速度有提升。
下一期:Windows Server 2022 WDS 无人值守安装实战。