第1季 · WS2019 · DHCP

DHCP 部署与地址管理

【第1季第3篇】Windows Server 2019 DHCP 服务器:IP 地址自动分配从零搭建到精细管理

系列:爱依航 · Windows Server 2019 运维系列

本篇主题:DHCP 服务器部署与地址池管理

环境:域名 iehang.cn / IP 网段 192.168.10.X / DHCP 服务器 IP 192.168.10.11


开篇:手动分配 IP 的三个噩梦

噩梦一:新员工来了,网管不在,IP 没人分配,只能干等。

噩梦二:20 台电脑全部手动配 IP,配到第 18 台发现 192.168.10.88 这个地址死活 ping 不通——原来三个月前有人手动配过了,你不知道。

噩梦三:改了路由器网段,所有手动配 IP 的机器断网,一台一台重新配。

DHCP 的价值一句话:IP 地址你说了算,分配的事交给服务器。


Part 1 · DHCP 基础与环境规划

DHCP 工作原理(DORA 四步)

客户端通电后,自动经历四步获取 IP:

  1. Discover:客户端广播"谁在管 IP?"(UDP 67/68)
  2. Offer:DHCP 服务器回应"我这有,给你 192.168.10.100 到 200"
  3. Request:客户端说"我要 192.168.10.150"
  4. Acknowledge:服务器确认"好,这个 IP 归你了,租期 8 天"

本系列 DHCP 环境规划


DHCP 服务器 IP:      192.168.10.11(独立服务器,也可与域控同机)
作用域名称:          iehang.cn 办公网段
作用域范围:          192.168.10.100 - 192.168.10.200
子网掩码:            255.255.255.0
默认网关:            192.168.10.1
首选 DNS:            192.168.10.10(域控制器)
租约期限:            8 天(办公场景合理值)
排除地址:            192.168.10.1 - 192.168.10.99(静态设备)

Part 2 · 部署 DHCP 服务器

步骤一:安装 DHCP 服务器角色

打开"服务器管理器" → 添加角色和功能 → 服务器角色 → 勾选 DHCP 服务器

一路下一步,点击"安装"。

步骤二:授权 DHCP(加入域后必须操作)

安装完成后,打开"服务器管理器"顶部通知栏,选择"完成 DHCP 配置",启动 DHCP 授权向导。

这一步非常重要:未授权的 DHCP 服务器发出的 IP Offer 是无效的,Windows 域环境下会拒绝接受。

选择当前登录账号进行授权,点击"提交"。

步骤三:创建作用域

打开 DHCP 管理器(dhcpmgmt.msc):

展开服务器节点 → 右键"IPv4" → 新建作用域 → 向导名称填写:iehang.cn 办公网段

激活作用域: 完成向导后,右键新建的作用域 → 激活。

步骤四:验证 DHCP 运行


# 查看 DHCP 服务器授权状态
Get-DhcpServerInDC

# 查看所有作用域
Get-DhcpServerv4Scope | Select Name,StartRange,EndRange,State

# 查看当前租约
Get-DhcpServerv4Lease -ScopeId 192.168.10.0 | Select IPAddress,HostName,LeaseExpiry

# 查看作用域统计
Get-DhcpServerv4ScopeStatistics -ScopeId 192.168.10.0

客户端测试(任意一台联网电脑 CMD):


ipconfig /release
ipconfig /renew
ipconfig /all

Part 3 · 高级配置:保留地址与超级作用域

配置保留地址(MAC 地址绑定)

保留地址用于打印机、网络设备等需要固定 IP 但不需要加入域的设备。


# 添加保留地址:打印机(MAC 地址为示例)
Add-DhcpServerv4Reservation -ScopeId 192.168.10.0 -IPAddress 192.168.10.50 `
  -ClientId "00-15-5D-8C-01-2F" -Name "HP-LaserJet-4015" -Description "财务打印机"

# 查看所有保留地址
Get-DhcpServerv4Reservation -ScopeId 192.168.10.0

查找设备 MAC 地址的方法:


# 在设备本机或交换机上查
getmac /v
arp -a

配置超级作用域(多网段场景)

当企业有多个网段时(如 192.168.10.x 和 192.168.20.x),可以用超级作用域集中管理:


# 新建第二个作用域
Add-DhcpServerv4Scope -Name "iehang.cn 访客网段" `
  -StartRange 192.168.20.100 -EndRange 192.168.20.200 `
  -SubnetMask 255.255.255.0 -State Active

# 创建超级作用域并加入现有作用域
Add-DhcpServerv4SuperScope -SuperScopeName "iehang.cn 全网段" `
  -SuperscopeRange @( @{ ScopeId="192.168.10.0"; Name="办公网段" }, @{ ScopeId="192.168.20.0"; Name="访客网段" })

# 查看超级作用域
Get-DhcpServerv4SuperScope

Part 4 · 常见故障 Top 3

故障一:客户端一直获取 169.254.x.x(APIPA 地址)

169.254.x.x 是 Windows 自动私有 IP,说明 DHCP 服务器没响应。

排查:


# 服务端检查 DHCP 服务状态
Get-Service DhcpServer

# 检查作用域是否激活
Get-DhcpServerv4Scope | Select Name,State

# 检查 DHCP 服务器授权状态
Get-DhcpServerInDC

# 检查防火墙是否放行了 UDP 67/68
Get-NetFirewallRule -DisplayName "*DHCP*" | Select DisplayName,Enabled,Direction

故障二:地址池耗尽,新设备无法获取 IP

表现: 新接入设备无法获取 IP,提示"在网络上找不到 DHCP 服务器"。

排查:


# 查看地址池使用情况
Get-DhcpServerv4ScopeStatistics -ScopeId 192.168.10.0 | `
  Select-Object @{N="总地址数";E={$_.Total}},
                @{N="已租用";E={$_.InUse}},
                @{N="可用";E={$_.Free}},
                @{N="使用率%";E={[math]::Round($_.PercentageInUse,1)}}

解决方法:

短期:扩充地址池范围,把结束 IP 改大:


Set-DhcpServerv4Scope -ScopeId 192.168.10.0 -EndRange 192.168.10.250

长期:规划新网段或部署超级作用域分流。

检查异常长租约的设备,释放不需要的地址:


# 查看租约即将过期的记录,提前清理
Get-DhcpServerv4Lease -ScopeId 192.168.10.0 | `
  Where-Object {$_.LeaseExpiry -lt (Get-Date).AddDays(1)} | `
  Select IPAddress,HostName,LeaseExpiry

故障三:DHCP 冲突告警,IP 地址冲突

表现: 客户端日志里有 Event ID 1004,报"检测到 IP 地址冲突"。

解决方法:


# 查看当前租约和保留地址,排查重叠
Get-DhcpServerv4Lease -ScopeId 192.168.10.0
Get-DhcpServerv4Reservation -ScopeId 192.168.10.0

# 查看是否有其他 DHCP 服务器接入(域环境下)
Get-DhcpServerInDC

# 如果发现未授权的 DHCP 服务器,立即在交换机上封禁其端口

Part 5 · 日常运维清单

每周必做


# 导出当前所有租约记录
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

# 检查地址池使用率,使用率超过 80% 预警
$stats = Get-DhcpServerv4ScopeStatistics -ScopeId 192.168.10.0
if ($stats.PercentageInUse -gt 80) { Write-Warning "地址池使用率超过 80%,请关注!" }

# 检查未分配的保留地址
Get-DhcpServerv4Reservation -ScopeId 192.168.10.0 | Where-Object { $_.IPAddress -notin (Get-DhcpServerv4Lease -ScopeId 192.168.10.0).IPAddress }

月度必做


# 分析高频上线设备(可能有设备频繁重连,消耗租约)
Get-DhcpServerv4Lease -ScopeId 192.168.10.0 | `
  Group-Object HostName | Sort-Object Count -Descending | Select -First 10

# 审计 DNS 注册情况(确保通过 DHCP 获取 IP 的客户端在 AD 中正确注册)
Get-DnsServerResourceRecord -ZoneName iehang.cn -RRType A | Where-Object { $_.RecordData.IPv4Address -like "192.168.10.*" } | Measure-Object

下期预告

机器越来越多,重装系统靠 U 盘?

下一期我们来讲:WDS 无人值守安装实战,网络启动、一键部署 Windows,从 2 小时缩短到 10 分钟。