教学目标
📖 课前导入
你连WiFi后手机自动就有了IP地址——你从没手动配置过。但在一个1000人的企业网络中,如果每台电脑都需要IT管理员手动配置IP,那不仅耗时巨大,还极容易出现IP地址冲突。
DHCP就是解决这个问题的"IP地址自动管家"。它不仅自动分配IP,还能统一管理网关、DNS等配置,是每个网络的基础设施。
🎯 本课目标:理解DHCP的DORA四步过程,掌握租约机制与续租流程,了解DHCP中继的作用,能用命令排查DHCP问题,认识DHCP安全威胁与防护。
📚 一、DHCP协议概述
什么是DHCP?
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)自动为设备分配IP地址和网络配置。使用UDP端口67(服务器)和68(客户端)。
为什么用UDP不用TCP?因为客户端还没有IP地址,无法建立TCP连接(TCP需要IP地址来三次握手)。
DHCP分配的信息
🔢
IP地址
如 192.168.1.100
🎭
子网掩码
如 255.255.255.0
🚪
默认网关
如 192.168.1.1
📖
DNS服务器
如 8.8.8.8
还可以分配:租约时间、域名后缀、NTP时间服务器、WINS服务器等。
静态IP vs DHCP对比
| 对比项 | 静态IP(手动配置) | DHCP(自动分配) |
|---|---|---|
| 配置方式 | 管理员逐台手动设置 | 自动获取,即插即用 |
| 管理成本 | 高,设备多时不可行 | 低,统一管理 |
| IP冲突风险 | 高,容易手误重复 | 低,服务器统一分配 |
| 适用场景 | 服务器、打印机、网关等 | 员工电脑、手机、访客设备 |
最佳实践:服务器/网络设备用静态IP(地址不能变),终端设备用DHCP(灵活管理)。
📚 二、DHCP工作过程——DORA四步 ⭐核心
DORA = Discover → Offer → Request → Acknowledge
全程使用广播通信(因为客户端最初没有IP地址,无法单播)。
1. Discover(发现)——客户端广播寻找服务器
"网络中有DHCP服务器吗?我需要一个IP地址!"
源IP: 0.0.0.0 → 目的IP: 255.255.255.255(广播)
源MAC: 客户端MAC → 目的MAC: FF:FF:FF:FF:FF:FF
2. Offer(提供)——服务器回应可用IP
"我这里有IP 192.168.1.100给你用,网关是.1,DNS是114.114.114.114,租期24小时。"
包含:可用IP、子网掩码、网关、DNS、租约时间。如果有多台DHCP服务器,每台都会发Offer。
3. Request(请求)——客户端选择并确认
"我接受服务器A提供的192.168.1.100!"(仍然是广播,这样其他服务器也知道它被拒绝了)
客户端通常选择最先收到的Offer。其他服务器看到Request后收回自己的Offer。
4. Acknowledge(确认)——服务器最终确认
"确认!192.168.1.100从现在起是你的了,租期24小时。"
客户端收到ACK后配置IP地址,发送免费ARP检测地址冲突,正式开始使用网络。
🌐 DHCP DORA四步过程
📚 三、DHCP租约与续租
租约生命周期
时间轴(假设租期24小时):
0h 获得IP地址(DORA完成)
|=========|=========|=========|=========|
12h T1=50% → 向原服务器单播续租(Request)
| |=========|=========|
21h T2=87.5% → 续租失败,向所有服务器广播续租
| |=========|
24h 租约到期 → 释放IP,重新DORA
T1续租(50%时)——单播
客户端向原DHCP服务器发送Request。服务器正常则回ACK,租期重新计时。
✅ 最常见的情况,用户无感知。
T2重绑定(87.5%时)——广播
如果T1续租失败(原服务器宕机),客户端广播Request,请求任何DHCP服务器续租。
⚠️ 说明原DHCP服务器可能出了问题。
📚 四、DHCP中继——跨子网分配IP
问题:广播包过不了路由器
DHCP Discover是广播包,而路由器默认不转发广播。如果DHCP服务器在另一个子网,客户端的Discover永远到不了服务器。
解决:DHCP中继代理(Relay Agent)
在路由器上配置ip helper-address,路由器收到DHCP广播后,转为单播转发给指定的DHCP服务器。
// 路由器配置DHCP中继
Router(config)# interface GigabitEthernet0/1
Router(config-if)# ip helper-address 10.0.0.100
↑ DHCP服务器的IP地址
🌐 DHCP中继跨子网工作流程
优势:一台DHCP服务器可以为多个子网分配IP,集中管理,无需每个子网都部署DHCP服务器。
🔧 五、DHCP安全威胁与排错
🔴 DHCP饥饿攻击
攻击者伪造大量MAC地址发送Discover,耗尽DHCP服务器的所有IP,导致正常用户无法获得IP。
防御:交换机启用端口安全(Port Security),限制每个端口的MAC地址数量。
🟠 DHCP欺骗攻击
攻击者搭建假DHCP服务器,给用户分配错误的网关IP(指向攻击者),从而截获所有流量(中间人攻击)。
防御:交换机启用DHCP Snooping,只允许信任端口发送Offer/ACK。
DHCP排障步骤
1. 确认DHCP启用:ipconfig /all看"DHCP已启用"是否为"是"。
2. 释放并重获:ipconfig /release → ipconfig /renew,万能重置操作。
3. 检查获得的IP:如果IP是169.254.x.x(APIPA地址),说明没有找到DHCP服务器。检查网线/WiFi连接、DHCP服务器状态。
4. 检查网关可达:ping 网关IP,不通则检查物理连接。
5. 检查DNS:nslookup www.baidu.com,失败则DNS服务器配置有误。
DHCP工作过程与配置演示
在Packet Tracer中演示DHCP的DORA四步抓包分析,配置DHCP服务器地址池和中继代理,演示DHCP Snooping防护
在Packet Tracer中演示DHCP的DORA四步抓包分析,配置DHCP服务器地址池和中继代理,演示DHCP Snooping防护
✅ 课堂小测
随堂测验
第 1/7 题DHCP的四步过程DORA分别代表什么?
📋 本课小结
DHCP:自动分配IP、掩码、网关、DNS。UDP 67/68。服务器/网络设备用静态IP,终端用DHCP。
DORA四步:Discover(广播找)→Offer(服务器应答)→Request(客户端选择)→ACK(最终确认)。
租约续租:50%时单播续租,87.5%时广播续租,到期则释放IP重新DORA。
DHCP中继:路由器上配ip helper-address,一台DHCP服务器可为多个子网服务。
安全防护:DHCP Snooping防假服务器,端口安全防饥饿攻击。169.254.x.x = 找不到DHCP。
🤔 课后思考与实践
动手实验
- 用
ipconfig /all查看你电脑的DHCP信息:获得的IP、网关、DNS、租约起止时间。 - 执行
ipconfig /release再ipconfig /renew,观察IP是否变化(通常不会变,因为DHCP会优先分配之前使用的IP)。 - 登录你家路由器管理页面,找到DHCP设置,看看地址池范围和租约时间。
思考题
- 为什么DHCP Request(第三步)要用广播而不是直接单播给选中的服务器?
- 如果网络中有两台DHCP服务器,会发生什么?这是好事还是坏事?
- 为什么服务器和打印机应该用静态IP而不是DHCP?如果它们用DHCP会有什么问题?