自动分配门牌号 — DHCP 与 IPAM
🏠 EP02:自动分配门牌号 — DHCP 与 IPAM
当员工越来越多,手动配 IP 太累了 — 让 DHCP 帮你自动管理 IP 地址分配。
🎬 开场白 / Opening
上一集,小明手动给自己配了一个 IP 地址,终于能上网了。
但今天老板扔过来一个炸弹:”明天有 100 个新员工入职。”
小明心里一凉——难道要一个一个手动配 IP?万一两个人配了同一个地址怎么办?
今天我们就来学一个能自动分配门牌号的技术:DHCP。
它就像一个酒店前台——你来了,给你分房间号;你走了,房间号回收给下一位客人。
📍 场景设定 / Scene
小明的苦恼
星辰科技的业务发展得很快。当初搬进新办公楼时只有 10 个人,小明手动给每台电脑配 IP,不算太麻烦。
但现在,公司迅速扩张到了 100 人。
小明维护着一个 Excel 表格来记录 IP 分配:
| 员工 | IP 地址 | MAC 地址 | 备注 |
|--------|---------------|--------------------|----------|
| 张三 | 192.168.1.10 | 00:15:5D:01:02:03 | 市场部 |
| 李四 | 192.168.1.11 | 00:15:5D:04:05:06 | 研发部 |
| 王五 | 192.168.1.12 | 00:15:5D:07:08:09 | 财务部 |
| ... | ... | ... | ... |
然后问题开始频频出现:
- 🔴 IP 冲突:新来的实习生自己配了
192.168.1.11,导致李四断网了 - 🔴 地址耗尽:会议室的访客也需要上网,临时地址不够分了
- 🔴 效率低下:每来一个新员工,小明都要跑去他工位手动配置
- 🔴 配置错误:有人网关配错了,DNS 配错了,各种奇怪的网络问题
小明深深叹了一口气:
“一定有更好的办法。”
于是他决定——部署 DHCP 服务器。
🧠 核心概念 / Core Concepts
酒店前台类比 — 理解 DHCP
💡 核心类比:DHCP 服务器 = 酒店前台
想象你入住一家酒店:
| 酒店流程 | DHCP 对应 | 说明 |
|---|---|---|
| 你走进酒店大堂 | 电脑开机连网 | 设备接入网络 |
| 喊一声:”有人吗?我要住店!” | DHCP Discover | 广播寻找 DHCP 服务器 |
| 前台说:”有的!这是 305 号房,可以给你” | DHCP Offer | 服务器提供一个可用 IP |
| 你说:”好的,我就要 305 号房” | DHCP Request | 客户端确认接受这个 IP |
| 前台给你房卡:”住好,3 天后退房” | DHCP Acknowledge | 服务器确认,并告知租期 |
| 3 天快到了,你想续住 | DHCP Renew | 客户端在租期过半时续租 |
| 你退房,房间号回收 | DHCP Release | 客户端释放 IP 地址 |
这就是 DHCP 的核心流程——DORA 四步舞。
DORA 流程详解
DORA 是 DHCP 的灵魂,全称是:
- D = Discover(发现)
- O = Offer(提供)
- R = Request(请求)
- A = Acknowledge(确认)
让我们一步步来看:
第 1 步:Discover — “有人吗?”
客户端 → 广播 (255.255.255.255)
源 IP: 0.0.0.0 (我还没有 IP)
目的 IP: 255.255.255.255 (对整个网络广播)
源 MAC: 00:15:5D:01:02:03 (我的网卡 MAC)
目的 MAC: FF:FF:FF:FF:FF:FF (广播 MAC)
消息: "我需要一个 IP 地址!有 DHCP 服务器吗?"
💡 为什么要广播?因为客户端此时还没有 IP 地址,也不知道 DHCP 服务器在哪里,只能大喊一声让所有人都听到。
第 2 步:Offer — “我这里有空房”
DHCP 服务器 → 客户端(也是广播或单播)
源 IP: 192.168.1.1 (DHCP 服务器的 IP)
目的 IP: 255.255.255.255 (广播回去)
消息: "我是 DHCP 服务器,可以给你:
IP 地址: 192.168.1.100
子网掩码: 255.255.255.0
默认网关: 192.168.1.1
DNS 服务器: 192.168.1.10
租期: 8 小时"
💡 如果网络中有多台 DHCP 服务器,客户端会收到多个 Offer。通常接受最先到达的那个。
第 3 步:Request — “我就要这个”
客户端 → 广播 (255.255.255.255)
消息: "我接受来自 192.168.1.1 服务器的 Offer。
我要 IP 地址 192.168.1.100。
(其他 DHCP 服务器,请收回你们的 Offer)"
💡 这一步用广播而不是单播,是为了让其他 DHCP 服务器知道”这个客户没选你,你可以把那个 IP 分给别人了”。
第 4 步:Acknowledge — “确认入住”
DHCP 服务器 → 客户端
消息: "确认!你的 IP 是 192.168.1.100,
配置信息如下:
子网掩码: 255.255.255.0
默认网关: 192.168.1.1
DNS 服务器: 192.168.1.10
域名: startech.local
租期: 8 小时
开始使用吧!"
客户端收到 ACK 后,就可以使用这个 IP 地址了!
IP 地址租期 (Lease) — 借住不是永住
DHCP 分配的 IP 地址不是永久的,而是有租期 (Lease) 的。这就像酒店住房不是永久的一样。
租期管理的关键时间点:
租期开始 租期结束
| |
|←──── 50% 续租尝试 ────→|←── 87.5% 再试 ──→| |
| | | |
T0 T1 T2 T3
获得 IP 尝试向原 尝试向任何 租期到期
DHCP 服务器 DHCP 服务器 IP 被回收
续租 (Renew) 续租 (Rebind)
- 50% 时 (T1):客户端尝试向原来的 DHCP 服务器续租(单播)
- 87.5% 时 (T2):如果原服务器没响应,向所有 DHCP 服务器续租(广播)
- 100% 时 (T3):租期到期,IP 被回收,客户端必须重新走 DORA 流程
📌 租期设多长合适?
- 办公网络(固定员工):8 小时 ~ 1 天
- 会议室(访客频繁):2 ~ 4 小时
- 公共 Wi-Fi(流动性大):30 分钟 ~ 2 小时
- 服务器(几乎不变):使用 DHCP Reservation(保留地址)
DHCP 作用域 (Scope)
DHCP Scope 定义了一个地址池——告诉 DHCP 服务器”你可以分配哪些地址”。
一个 Scope 包含:
| 配置项 | 示例 | 说明 |
|---|---|---|
| 地址范围 (Range) | 192.168.1.100 ~ 192.168.1.200 | 可分配的 IP 地址池 |
| 子网掩码 | 255.255.255.0 (/24) | 定义网络范围 |
| 排除范围 (Exclusion) | 192.168.1.150 ~ 192.168.1.160 | 池中保留不分配的地址 |
| 租期 (Lease Duration) | 8 小时 | IP 地址的借用时间 |
| 默认网关 (Option 003) | 192.168.1.1 | 路由器地址 |
| DNS 服务器 (Option 006) | 192.168.1.10 | DNS 服务器地址 |
| 域名 (Option 015) | startech.local | 域名后缀 |
DHCP 保留 (Reservation) — VIP 客户专属房间
有些设备需要固定 IP,但你又不想手动配置。这时候用 DHCP Reservation。
💡 类比:酒店的 VIP 客户——每次来都给他同一间房,但还是走前台办手续。
比如公司的打印机,你可以设置:
- MAC 地址
00:15:5D:AA:BB:CC永远分配到192.168.1.200 - 这样员工打印时总能找到它,但地址还是由 DHCP 管理
DHCP 中继代理 (Relay Agent) — 跨楼层送信
DHCP 的 Discover 是广播消息,广播不能穿越路由器。
那如果 DHCP 服务器在 1 楼,3 楼的电脑怎么找到它?
答案是:DHCP Relay Agent。
💡 类比:如果你住在酒店的分馆(不同子网),分馆前台(Relay Agent)会把你的住房请求转发给总馆前台(DHCP 服务器),再把房卡带回来给你。
工作流程:
3 楼的电脑 3 楼的路由器 1 楼的 DHCP 服务器
(192.168.3.x) (Relay Agent) (192.168.1.1)
| | |
|-- DHCP Discover (广播) --> | |
| |-- DHCP Discover (单播) -->|
| | (加上 giaddr 字段) |
| | |
| |<-- DHCP Offer (单播) ----|
|<-- DHCP Offer (广播/单播) --| |
| | |
(后续 Request/ACK 类似)
📌 Relay Agent 在 Discover 消息中加入
giaddr(Gateway IP Address)字段,告诉 DHCP 服务器”这个请求来自 192.168.3.x 网段,请从对应的 Scope 分配地址”。
DHCP 高可用 — 不能只有一个前台
如果唯一的 DHCP 服务器挂了,新设备就无法获取 IP——这在生产环境中是不可接受的。
Windows Server 提供两种 DHCP 高可用方案:
方案一:负载均衡模式 (Load Balance)
客户端请求
|
┌────┴────┐
▼ ▼
DHCP 服务器A DHCP 服务器B
负责 60% 负责 40%
的请求 的请求
- 两台服务器共享同一个 Scope
- 按比例分担请求(默认 50/50,可调整)
- 两台都活着时提高性能
- 一台挂了,另一台接管全部
方案二:热备模式 (Hot Standby)
正常状态: 故障状态:
客户端 → DHCP 主服务器 客户端 → DHCP 备服务器
(Active) (接管)
DHCP 备服务器
(Standby, 只同步不干活)
- 主服务器处理所有请求
- 备服务器实时同步数据,但不对外服务
- 主服务器挂了后,备服务器自动接管
- 适合分支办公室场景
DHCP 与 DNS 的联动 — 自动更新
当 DHCP 分配了一个 IP 地址后,它可以自动通知 DNS 服务器更新记录。
这就意味着:
- 新员工的电脑
DESKTOP-ZHANGSAN从 DHCP 获得 IP192.168.1.105 - DHCP 服务器自动告诉 DNS:
DESKTOP-ZHANGSAN.startech.local = 192.168.1.105 - 其他人直接 ping
DESKTOP-ZHANGSAN,就能找到这台电脑
📌 这就是 DHCP-DNS Dynamic Update,让 DHCP 和 DNS 联手工作,不需要手动维护 DNS 记录。
IPAM — 酒店集团的统一管理系统
当公司有多个办公楼(多个子网、多台 DHCP/DNS 服务器)时,你需要一个统一的管理视角。
💡 类比:如果说 DHCP 是单个酒店的前台,那 IPAM 就是酒店集团的中央管理系统 — 它能看到所有酒店的房间使用情况、做统计报表、审计入住记录。
IPAM (IP Address Management) 提供:
| 功能 | 说明 |
|---|---|
| 🔍 统一视图 | 在一个界面看到所有 DHCP/DNS 服务器的状态 |
| 📊 地址利用率 | 哪个子网快用完了?哪个子网很空? |
| 📝 审计日志 | 谁在什么时候获得了什么 IP? |
| 🔧 批量管理 | 统一修改 DHCP 配置,不用一台一台登录 |
| 📋 地址空间规划 | 规划和管理 IP 地址分配方案 |
IPAM 不是必须部署的,但当网络规模超过几百台设备时,它会让管理轻松很多。
🏗️ 架构图解 / Architecture
DHCP DORA 完整流程
sequenceDiagram
participant Client as 💻 小明的电脑<br/>MAC: 00:15:5D:01:02:03<br/>IP: 无
participant DHCP as 🏨 DHCP 服务器<br/>192.168.1.1<br/>Scope: .100~.200
Note over Client: 开机,网卡启动<br/>发现没有 IP 地址
rect rgb(255, 245, 200)
Note over Client,DHCP: 🔍 第 1 步:Discover(发现)
Client->>DHCP: DHCP Discover<br/>广播 255.255.255.255<br/>"有 DHCP 服务器吗?我需要 IP!"
Note over Client: 源 IP: 0.0.0.0<br/>目的 IP: 255.255.255.255
end
rect rgb(200, 245, 255)
Note over Client,DHCP: 🎁 第 2 步:Offer(提供)
DHCP->>Client: DHCP Offer<br/>"我可以给你 192.168.1.100<br/>网关: .1 | DNS: .10 | 租期: 8h"
Note over DHCP: 从 Scope 中选择<br/>一个空闲 IP
end
rect rgb(200, 255, 200)
Note over Client,DHCP: 📋 第 3 步:Request(请求)
Client->>DHCP: DHCP Request<br/>广播: "我接受 192.168.1.100<br/>来自服务器 192.168.1.1"
Note over Client: 广播是为了通知<br/>其他 DHCP 服务器
end
rect rgb(255, 200, 255)
Note over Client,DHCP: ✅ 第 4 步:Acknowledge(确认)
DHCP->>Client: DHCP ACK<br/>"确认!192.168.1.100 是你的了<br/>配置信息:网关 .1 / DNS .10<br/>租期 8 小时,好好用!"
Note over Client: 🎉 配置 IP 地址<br/>开始正常上网!
end
Note over Client,DHCP: ⏰ 4 小时后(租期 50%)
rect rgb(255, 255, 200)
Note over Client,DHCP: 🔄 续租 (Renew)
Client->>DHCP: DHCP Request<br/>单播: "我想续租 192.168.1.100"
DHCP->>Client: DHCP ACK<br/>"续租成功!新租期 8 小时"
end
DHCP 在网络中的架构位置
graph TB
subgraph Floor3["🏢 3 楼 · 研发部<br/>子网: 192.168.3.0/24"]
PC3A["💻 研发-01"]
PC3B["💻 研发-02"]
PC3C["💻 研发-03"]
SW3["🔀 3 楼交换机"]
Relay3["📡 DHCP Relay Agent<br/>Router Interface<br/>192.168.3.1"]
PC3A --> SW3
PC3B --> SW3
PC3C --> SW3
SW3 --> Relay3
end
subgraph Floor2["🏢 2 楼 · 市场部<br/>子网: 192.168.2.0/24"]
PC2A["💻 市场-01"]
PC2B["💻 市场-02"]
SW2["🔀 2 楼交换机"]
Relay2["📡 DHCP Relay Agent<br/>Router Interface<br/>192.168.2.1"]
PC2A --> SW2
PC2B --> SW2
SW2 --> Relay2
end
subgraph Floor1["🏢 1 楼 · 机房<br/>子网: 192.168.1.0/24"]
DHCP_Primary["🏨 DHCP 主服务器<br/>192.168.1.10<br/>Scope 1: .100~.200<br/>Scope 2: .100~.200<br/>Scope 3: .100~.200"]
DHCP_Standby["🏨 DHCP 备服务器<br/>192.168.1.11<br/>Hot Standby"]
DNS["🔍 DNS 服务器<br/>192.168.1.20"]
IPAM["📋 IPAM 服务器<br/>192.168.1.30"]
CoreSW["🔀 核心交换机"]
DHCP_Primary --> CoreSW
DHCP_Standby --> CoreSW
DNS --> CoreSW
IPAM --> CoreSW
end
Relay3 -->|"转发 DHCP 请求"| CoreSW
Relay2 -->|"转发 DHCP 请求"| CoreSW
CoreSW --> DHCP_Primary
DHCP_Primary <-.->|"故障转移同步"| DHCP_Standby
DHCP_Primary -.->|"动态 DNS 更新"| DNS
IPAM -.->|"监控管理"| DHCP_Primary
IPAM -.->|"监控管理"| DHCP_Standby
IPAM -.->|"监控管理"| DNS
style DHCP_Primary fill:#81C784,stroke:#388E3C,stroke-width:3px,color:#000
style DHCP_Standby fill:#A5D6A7,stroke:#388E3C,stroke-width:2px,color:#000
style DNS fill:#4FC3F7,stroke:#0288D1,stroke-width:2px,color:#000
style IPAM fill:#FFB74D,stroke:#E65100,stroke-width:2px,color:#000
style Relay2 fill:#CE93D8,stroke:#7B1FA2,stroke-width:2px,color:#000
style Relay3 fill:#CE93D8,stroke:#7B1FA2,stroke-width:2px,color:#000
DHCP 高可用架构
graph LR
subgraph LoadBalance["⚖️ 负载均衡模式"]
direction TB
LB_Client["💻 客户端"]
LB_A["🏨 DHCP-A<br/>处理 60%"]
LB_B["🏨 DHCP-B<br/>处理 40%"]
LB_Client --> LB_A
LB_Client --> LB_B
LB_A <-.->|"状态同步"| LB_B
end
subgraph HotStandby["🔥 热备模式"]
direction TB
HS_Client["💻 客户端"]
HS_Active["🏨 DHCP-Active<br/>处理所有请求"]
HS_Standby["🏨 DHCP-Standby<br/>待命同步"]
HS_Client --> HS_Active
HS_Active <-.->|"实时同步"| HS_Standby
HS_Active -.-|"故障时<br/>自动接管"| HS_Standby
end
style LB_A fill:#81C784,stroke:#388E3C,color:#000
style LB_B fill:#81C784,stroke:#388E3C,color:#000
style HS_Active fill:#81C784,stroke:#388E3C,color:#000
style HS_Standby fill:#FFF9C4,stroke:#F9A825,color:#000
🔧 实操演示 / Demo
场景:小明在 Windows Server 上部署 DHCP
第 1 步:安装 DHCP 服务器角色
# 安装 DHCP 服务器角色(包含管理工具)
Install-WindowsFeature DHCP -IncludeManagementTools
# 预期输出:
# Success Restart Needed Exit Code Feature Result
# ------- -------------- --------- --------------
# True No Success {DHCP Server}
# 完成安装后的配置
# 在 Active Directory 中授权 DHCP 服务器
Add-DhcpServerInDC -DnsName "dhcp01.startech.local" -IPAddress 192.168.1.10
第 2 步:创建 DHCP 作用域
# 创建一个作用域:给 1 楼办公区分配 IP
Add-DhcpServerv4Scope `
-Name "Floor1-Office" `
-StartRange 192.168.1.100 `
-EndRange 192.168.1.200 `
-SubnetMask 255.255.255.0 `
-LeaseDuration (New-TimeSpan -Hours 8) `
-State Active `
-Description "1楼办公区 - 员工工位"
# 预期输出:
# ScopeId SubnetMask Name State StartRange EndRange
# ------- ---------- ---- ----- ---------- --------
# 192.168.1.0 255.255.255.0 Floor1-Office Active 192.168.1.100 192.168.1.200
第 3 步:设置排除范围
# 排除一段地址(留给服务器和网络设备手动配置)
Add-DhcpServerv4ExclusionRange `
-ScopeId 192.168.1.0 `
-StartRange 192.168.1.150 `
-EndRange 192.168.1.160
# 查看排除范围
Get-DhcpServerv4ExclusionRange -ScopeId 192.168.1.0
# 预期输出:
# ScopeId StartRange EndRange
# ------- ---------- --------
# 192.168.1.0 192.168.1.150 192.168.1.160
第 4 步:配置 DHCP 选项(网关、DNS、域名)
# 设置默认网关 (Option 003)
Set-DhcpServerv4OptionValue -ScopeId 192.168.1.0 `
-Router 192.168.1.1
# 设置 DNS 服务器 (Option 006)
Set-DhcpServerv4OptionValue -ScopeId 192.168.1.0 `
-DnsServer 192.168.1.10, 192.168.1.11
# 设置 DNS 域名 (Option 015)
Set-DhcpServerv4OptionValue -ScopeId 192.168.1.0 `
-DnsDomain "startech.local"
# 查看所有已配置的选项
Get-DhcpServerv4OptionValue -ScopeId 192.168.1.0
# 预期输出:
# OptionId Name Type Value
# -------- ---- ---- -----
# 3 Router IPv4 {192.168.1.1}
# 6 DNS Servers IPv4 {192.168.1.10, 192.168.1.11}
# 15 DNS Domain Name String {startech.local}
第 5 步:添加 DHCP 保留
# 给打印机设置固定 IP 保留
Add-DhcpServerv4Reservation `
-ScopeId 192.168.1.0 `
-IPAddress 192.168.1.200 `
-ClientId "00-15-5D-AA-BB-CC" `
-Name "Printer-Floor1" `
-Description "1楼彩色打印机"
# 查看所有保留
Get-DhcpServerv4Reservation -ScopeId 192.168.1.0
# 预期输出:
# IPAddress ScopeId ClientId Name
# --------- ------- -------- ----
# 192.168.1.200 192.168.1.0 00-15-5d-aa-bb-cc Printer-Floor1
第 6 步:查看已分配的地址
# 查看作用域信息
Get-DhcpServerv4Scope
# 预期输出:
# ScopeId SubnetMask Name State StartRange EndRange LeaseDuration
# ------- ---------- ---- ----- ---------- -------- -------------
# 192.168.1.0 255.255.255.0 Floor1-Office Active 192.168.1.100 192.168.1.200 08:00:00
# 查看当前已分配的租约
Get-DhcpServerv4Lease -ScopeId 192.168.1.0
# 预期输出:
# IPAddress ScopeId ClientId HostName LeaseExpiryTime
# --------- ------- -------- -------- ---------------
# 192.168.1.100 192.168.1.0 00-15-5d-01-02-03 DESKTOP-XIAOMING 2026-04-10 20:00:00
# 192.168.1.101 192.168.1.0 00-15-5d-04-05-06 DESKTOP-ZHANGSAN 2026-04-10 18:30:00
# 192.168.1.102 192.168.1.0 00-15-5d-07-08-09 LAPTOP-LISI 2026-04-10 19:15:00
# 查看地址利用率统计
Get-DhcpServerv4ScopeStatistics -ScopeId 192.168.1.0
# 预期输出:
# ScopeId Free InUse Reserved Pending PercentageInUse
# ------- ---- ----- -------- ------- ---------------
# 192.168.1.0 87 3 1 0 3.30
第 7 步:配置 DHCP 故障转移
# 配置负载均衡模式的故障转移
Add-DhcpServerv4Failover `
-Name "StarTech-DHCP-Failover" `
-PartnerServer "dhcp02.startech.local" `
-ScopeId 192.168.1.0 `
-LoadBalancePercent 60 `
-SharedSecret "MySecretKey123!" `
-MaxClientLeadTime (New-TimeSpan -Hours 1) `
-AutoStateTransition $true `
-StateSwitchInterval (New-TimeSpan -Minutes 10)
# 查看故障转移状态
Get-DhcpServerv4Failover
# 预期输出:
# Name PartnerServer Mode State
# ---- ------------- ---- -----
# StarTech-DHCP-Failover dhcp02.startech.local LoadBalance Normal
第 8 步:配置 DHCP-DNS 动态更新
# 启用 DHCP-DNS 动态更新
Set-DhcpServerv4DnsSetting `
-ScopeId 192.168.1.0 `
-DynamicUpdates "Always" `
-DeleteDnsRROnLeaseExpiry $true `
-UpdateDnsRRForOlderClients $true `
-NameProtection $true
# 查看 DNS 动态更新设置
Get-DhcpServerv4DnsSetting -ScopeId 192.168.1.0
# 预期输出:
# DynamicUpdates : Always
# DeleteDnsRROnLeaseExpiry : True
# UpdateDnsRRForOlderClients : True
# NameProtection : True
客户端操作
# 释放当前 IP(相当于酒店退房)
ipconfig /release
# 重新获取 IP(相当于重新入住)
ipconfig /renew
# 查看当前 IP 配置详情
ipconfig /all
# 预期输出(关键部分):
# Ethernet adapter Ethernet:
# Connection-specific DNS Suffix . : startech.local
# DHCP Enabled. . . . . . . . . . : Yes
# IPv4 Address. . . . . . . . . . : 192.168.1.100
# Subnet Mask . . . . . . . . . . : 255.255.255.0
# Default Gateway . . . . . . . . : 192.168.1.1
# DHCP Server . . . . . . . . . . : 192.168.1.10
# DNS Servers . . . . . . . . . . : 192.168.1.10
# 192.168.1.11
# Lease Obtained. . . . . . . . . : 2026年4月10日 12:00:00
# Lease Expires . . . . . . . . . : 2026年4月10日 20:00:00
📝 讲稿要点 / Script Notes
开场段 (0:00 - 0:30)
- 回顾上集:小明手动配 IP 成功上网
- 抛出新问题:”100 个新员工明天入职,你要一个一个配吗?”
- 引出今天主题:DHCP 自动分配
场景引入 (0:30 - 1:30)
- 描述小明维护 Excel 表格管理 IP 的痛苦
- 列举具体问题:IP 冲突、地址不够、配置错误
- 让观众产生共鸣:”你有没有遇到过类似的情况?”
酒店前台类比 (1:30 - 3:00)
- 用酒店入住流程解释 DHCP
- 每一步对应 DORA 的哪个阶段
- 重点讲清楚”广播”的概念——因为你不知道前台在哪里
DORA 流程详解 (3:00 - 6:00)
- 展示 DORA 序列图
- 每一步详细解释:
- Discover:广播寻找,源 IP 是 0.0.0.0(因为还没有 IP)
- Offer:服务器从 Scope 中选一个空闲 IP 提供
- Request:客户端确认(用广播通知其他服务器)
- Acknowledge:确认分配,附带所有配置信息
- 讲解租期的概念和续租机制
Scope 和 Reservation (6:00 - 7:30)
- 什么是 Scope(地址池)
- DHCP Options 的作用(网关、DNS 等)
- Reservation 的使用场景(打印机、服务器等)
- 排除范围的用途
Relay Agent (7:30 - 8:30)
- 为什么需要 Relay Agent(广播不过路由器)
- 工作原理(giaddr 字段)
- 小明公司的多楼层场景
DHCP 高可用 (8:30 - 9:30)
- 为什么需要高可用
- 负载均衡 vs 热备
- 简单对比,推荐使用场景
DHCP-DNS 联动和 IPAM (9:30 - 10:30)
- 动态 DNS 更新的好处
- IPAM 的统一管理价值
- 什么规模需要 IPAM
实操演示 (10:30 - 13:30)
- 创建 Scope
- 配置 Options
- 添加 Reservation
- 查看 Lease
- 客户端 ipconfig /release 和 /renew
总结与预告 (13:30 - 14:30)
- 回顾 DORA 四步
- 小明的问题解决了
- 预告下一集
🧪 小明的成果
部署 DHCP 之后,小明的生活变了:
| 之前 (手动) | 之后 (DHCP) |
|---|---|
| 每个新员工要手动配置 | 插上网线/连 WiFi 自动获得 IP |
| 维护 Excel 表格容易出错 | DHCP 服务器自动管理 |
| IP 冲突频繁 | DHCP 保证不重复分配 |
| 配置错误多 | 网关、DNS 统一下发 |
| 设备移动后要重新配 | 到哪个子网都能自动获得新 IP |
现在 100 个新员工入职,只需要把电脑插上网线就行了。
但小明又遇到了新问题——员工问他:
“为什么我要记
192.168.1.200才能找到打印机?就不能直接用printer.startech.local吗?”
这就是下一集要解决的问题——DNS 域名解析。
✅ 本集总结 / Summary
今天你学到了什么?
- 🏨 DHCP 的核心作用 — 自动分配 IP 地址和网络配置,解放管理员的双手
- 💃 DORA 四步舞 — Discover → Offer → Request → Acknowledge,DHCP 的灵魂流程
- ⏰ 租期 (Lease) — IP 地址不是永久分配的,到期需要续租或回收
- 🎯 Scope 和 Reservation — Scope 定义地址池,Reservation 给特定设备保留固定 IP
- 📡 Relay Agent — 让 DHCP 能跨子网工作,解决广播不过路由器的问题
- 🛡️ 高可用 — 负载均衡和热备两种模式,确保 DHCP 不成为单点故障
- 🔗 DHCP-DNS 联动 — DHCP 分配 IP 后自动更新 DNS 记录
- 📋 IPAM — 大规模环境下的统一 IP 地址管理工具
关键命令速查
| 命令 | 用途 |
|---|---|
Install-WindowsFeature DHCP |
安装 DHCP 服务器角色 |
Add-DhcpServerv4Scope |
创建 DHCP 作用域 |
Set-DhcpServerv4OptionValue |
设置 DHCP 选项(网关、DNS 等) |
Add-DhcpServerv4Reservation |
添加 IP 地址保留 |
Get-DhcpServerv4Lease |
查看当前租约 |
Get-DhcpServerv4ScopeStatistics |
查看地址利用率 |
Add-DhcpServerv4Failover |
配置 DHCP 故障转移 |
ipconfig /release |
客户端释放 IP |
ipconfig /renew |
客户端重新获取 IP |
ipconfig /all |
查看完整网络配置 |
💡 故障排查小贴士
| 症状 | 可能原因 | 排查方法 |
|---|---|---|
| 客户端获得 169.254.x.x | DHCP 服务器不可达 | 检查网络连通性、Relay Agent、防火墙 |
| IP 冲突告警 | 有设备使用了 DHCP 范围内的静态 IP | 检查排除范围,移除冲突的静态配置 |
| 客户端获得 IP 但无法上网 | DHCP Options 配置错误 | 检查网关和 DNS 选项是否正确 |
| 租约不续期 | DHCP 服务器故障或网络中断 | 检查服务器状态、故障转移状态 |
| DNS 记录不更新 | DHCP-DNS 动态更新未配置 | 检查 DnsSetting 配置 |
👉 下集预告 / Next Episode
EP03:名字的力量 — DNS 域名解析 🔍
小明部署了 DHCP,所有人都能自动获得 IP 了。
但员工开始抱怨:”为什么我要记
192.168.1.200才能找到打印机?你能不能让我直接输入printer就能找到?”小明意识到他需要一个”电话簿”——把名字翻译成地址的系统——DNS。
但 DNS 不只是一个简单的表格。它是一个分布式的、层级化的、全球最大的”名字数据库”。
下一集,我们来揭开 DNS 的神秘面纱。
我们下集见! 👋
📚 系列导航
| 集数 | 标题 | 状态 |
|---|---|---|
| EP00 | 🗺️ 一张图看懂 Windows 网络 | ✅ 已发布 |
| EP01 | 💛 网络的心脏 — TCP/IP 协议栈 | ✅ 已发布 |
| EP02 | 🏠 自动分配门牌号 — DHCP 与 IPAM | 📍 你在这里 |
| EP03 | 🔍 名字的力量 — DNS 解析 | 即将发布 |
| EP04 | 🧱 网络的城墙 — 防火墙与 IPsec | 即将发布 |
| EP05 | 🔗 在家也能办公 — VPN 远程接入 | 即将发布 |
| EP06 | 📁 数据的流通 — SMB 文件共享 | 即将发布 |
| EP07 | 🌿 分支办公室 — DFS 与 BranchCache | 即将发布 |
| EP08 | ⚖️ 分散压力 — NLB 负载均衡 | 即将发布 |
| EP09 | 🛡️ 永不宕机 — 故障转移集群 | 即将发布 |
| EP10 | 🔄 统一运维 — WSUS 与 BITS | 即将发布 |