4、DHCP原理与配置:DORA流程、地址池管理与Option字段
DHCP这东西,说白了就是让设备入网时能自动拿到IP地址。你想想看,如果每台电脑都要手动配IP,那网络工程师得疯掉。我最早接触DHCP是在一个园区网项目里,几百个终端,要是没有DHCP,光配IP就得配一整天。
这一章我们重点讲三个东西:DHCP的工作流程(也就是经典的DORA)、IP地址池怎么管、还有Option字段到底能干什么。嗯,咱们一个一个来。
4.1 DHCP工作流程——DORA
DHCP的核心交互就四个报文,合起来叫DORA。我习惯这么记:Discover(发现)、Offer(提供)、Request(请求)、Acknowledge(确认)。
流程是这样的:
- Discover:客户端发广播,说“谁有IP?给我一个”。
- Offer:DHCP服务器回应,说“我这有个IP,你要不要?”
- Request:客户端选一个服务器,说“我要这个IP”。
- Acknowledge:服务器确认,说“好,这个IP归你了”。
这里有个细节——客户端可能会收到多个Offer。为什么?因为网络里可能不止一台DHCP服务器。客户端会选最先收到的那个,然后通过Request告诉所有服务器“我选了谁”。其他服务器就知道自己没被选上,可以把IP收回了。
核心要点:DORA是UDP协议,客户端用68端口,服务器用67端口。Discover和Request是广播,Offer和Ack可以是单播。
我曾经遇到过一个坑:客户端拿到了IP,但网关没配。查了半天,发现是DHCP服务器没发Option 3(网关)。从那以后,我每次配DHCP都会检查Option字段。
4.2 IP地址池管理
地址池就是DHCP服务器手里那堆可分配的IP。怎么管?我一般分三步走。
4.2.1 地址池的规划
先确定你要分哪个网段。比如公司内网用192.168.1.0/24,那地址池就设成192.168.1.100到192.168.1.200。为什么要留一段?因为服务器、打印机这些设备需要固定IP,得从池外分配。
我个人习惯把地址池分成三块:
| 区域 | IP范围 | 用途 |
|---|---|---|
| 保留区 | 192.168.1.1 - 192.168.1.50 | 网关、服务器、网络设备 |
| 动态池 | 192.168.1.51 - 192.168.1.200 | 普通终端(DHCP分配) |
| 预留区 | 192.168.1.201 - 192.168.1.254 | 打印机、监控、临时设备 |
4.2.2 租期管理
租期就是客户端能用这个IP多久。默认一般是24小时。但我觉得这个值得根据场景调:
- 办公网络:8小时或24小时,跟工作时间对齐。
- 无线网络:1-4小时,因为手机经常断开重连。
- 访客网络:30分钟到1小时,避免IP被占用太久。
我曾经在一个商场项目里,租期设了24小时,结果晚上没人时IP全被占着,白天新设备连不上。后来改成2小时,问题就解决了。
4.2.3 排除与保留
排除就是不让DHCP分某些IP。保留就是给特定MAC地址固定分配同一个IP。
小技巧:打印机、门禁控制器这些设备,建议用保留。这样它们IP不变,管理方便。我一般会在DHCP里建一个MAC-IP映射表。
4.3 Option字段详解
Option是DHCP报文里的扩展字段。说白了,就是除了IP地址之外,服务器还能告诉客户端其他信息。
常见的Option有这些:
| Option编号 | 名称 | 作用 | 必配? |
|---|---|---|---|
| 1 | Subnet Mask | 子网掩码 | 是 |
| 3 | Router | 默认网关 | 是 |
| 6 | DNS Server | DNS服务器地址 | 推荐 |
| 15 | Domain Name | 域名后缀 | 可选 |
| 42 | NTP Server | 时间服务器 | 可选 |
| 43 | Vendor Specific | 厂商自定义信息 | 特殊场景 |
| 66 | TFTP Server | TFTP服务器(用于IP电话等) | 特殊场景 |
| 150 | TFTP Server (Cisco) | Cisco专用TFTP服务器 | 特殊场景 |
嗯,这里要注意:Option 3和Option 6是最常用的。没有网关,设备出不去;没有DNS,域名解析不了。我见过一个案例,用户说“能上QQ但打不开网页”,查了半天就是DHCP没发DNS。
4.3.1 自定义Option
有些场景需要传自定义信息。比如IP电话需要知道TFTP服务器地址,那就用Option 66或150。再比如无线AP需要知道AC控制器地址,有些厂商会用自定义Option。
避坑指南:我曾经在配置Option 43时踩过坑。不同厂商的编码方式不一样,华为、思科、H3C的格式都不同。配之前一定要查厂商文档,否则设备不认。
4.3.2 Option 82——中继代理
这个比较特殊。当DHCP客户端和服务器不在同一个广播域时,需要中继代理(DHCP Relay)。中继代理会在报文中插入Option 82,告诉服务器“这个请求是从哪个接口来的”。服务器就可以根据这个信息分配不同网段的IP。
我习惯这么理解:Option 82就像快递上的地址标签,告诉仓库这单货该发到哪个分拣口。
4.4 配置示例(Cisco设备)
光说不练假把式。下面是一个简单的DHCP配置,我拿Cisco IOS举例:
!
ip dhcp pool OFFICE_NET
network 192.168.1.0 255.255.255.0
default-router 192.168.1.1
dns-server 8.8.8.8 8.8.4.4
domain-name example.com
lease 0 8 0
!
ip dhcp excluded-address 192.168.1.1 192.168.1.50
ip dhcp excluded-address 192.168.1.201 192.168.1.254
!
解释一下:
network:定义地址池网段。default-router:就是Option 3。dns-server:就是Option 6。lease 0 8 0:租期8小时(天 时 分)。excluded-address:排除的IP,不参与分配。
个人习惯:我配DHCP时一定会加domain-name。这样客户端能自动拼接域名,访问内网资源时方便很多。比如ping server,不用输全名。
4.5 本章小结
DHCP的核心就是DORA四个步骤。地址池管理要规划好保留、动态和预留三块。Option字段是DHCP的“扩展能力”,网关、DNS、TFTP这些关键信息都靠它传。
嗯,最后说一句:DHCP配好了,设备入网就成功了一半。但别忘了配合VLAN、中继代理这些技术一起用,才能真正做到“插上网线就能用”。