DHCP协议学习笔记
一、基本概念
✅ 定义:动态主机配置协议(Dynamic Host Configuration Protocol)
- 应用层协议(UDP 67/68端口)
- 自动为网络设备分配IP地址及其他配置参数
✅ 核心功能:
- IP地址动态分配
- 从地址池自动分配临时IP(租约机制)
- 配置参数传递
- 子网掩码、默认网关、DNS服务器等
- 地址回收与重用
- 租约到期后自动回收未续约的IP
二、工作原理
1. 四步交互流程(DORA过程)
sequenceDiagram
客户端->>DHCP服务器: DHCP Discover(广播)
DHCP服务器->>客户端: DHCP Offer(单播)
客户端->>DHCP服务器: DHCP Request(广播)
DHCP服务器->>客户端: DHCP Ack(单播)
2. 报文类型
报文类型 | 方向 | 作用 |
---|---|---|
DHCP Discover | 客户端→服务器 | 寻找可用DHCP服务器 |
DHCP Offer | 服务器→客户端 | 提供IP配置提案 |
DHCP Request | 客户端→服务器 | 确认接受配置 |
DHCP Ack/Nak | 服务器→客户端 | 最终确认/拒绝分配 |
三、关键技术特性
1. 租约管理
- 租约时长:默认8天(可配置)
- 续租流程:
- T1时间(50%租期):单播续租原IP
- T2时间(87.5%租期):广播请求新服务器
- 到期后释放IP并重启DORA过程
2. 地址池类型
类型 | 特点 | 适用场景 |
---|---|---|
动态分配 | 临时IP,租期结束后回收 | 普通用户设备 |
静态绑定 | MAC-IP固定映射 | 服务器/打印机 |
自动分配 | 长期保留首次分配的IP | 移动设备优化体验 |
四、安全注意事项
⚠️ 常见攻击:
- DHCP饥饿攻击:伪造大量请求耗尽地址池
- 恶意服务器注入:伪造DHCP服务器分配错误配置
🛡️ 防护措施:
# 交换机端口安全配置(Cisco示例)
五、实践命令
1. Windows客户端操作
# 释放IP地址
ipconfig /release
# 重新获取IP
ipconfig /renew
# 查看完整租约信息
ipconfig /all | findstr "Lease"
2. Linux服务器配置(isc-dhcp-server)
# 配置文件示例(/etc/dhcp/dhcpd.conf)