高级预留支持IP+MAC外的多选项配置,需在Server 2012 R2+启用并重启服务;DHCP选项优先级为客户端类>保留>作用域>服务器;客户端类可实现基于Option 60/93的动态策略分发;排错须用Wireshark检查Option 55请求列表。
高级预留:不只是绑定IP和MAC
在windows server的dhcp控制台中,标准“保留地址”功能仅支持ip+mac+描述的静态映射。但实际运维中常需更精细控制——比如为某台打印机同时指定固定ip、dns后缀、ntp服务器和tftp启动参数。这时需使用高级保留(advanced reservation):右键作用域 → “配置选项” → 勾选“启用此作用域的高级保留”,再新建保留时即可展开“作用域选项”标签页,逐项填入自定义选项值(如006 dns服务器、015 dns域名、042 ntp服务器等)。注意:该功能仅在windows server 2012 r2及以上版本可用,且必须确保dhcp服务已重启生效。
选项优先级不是“谁在后面谁赢”
DHCP选项按作用域层级存在明确继承与覆盖规则,顺序为:客户端类 > 保留 > 作用域 > 服务器。例如:某设备属于“VOIP-Phones”客户端类,其保留中未设置003默认网关,但该类在作用域级别设置了003=192.168.10.1,而作用域本身又设置了003=192.168.10.254——此时该设备最终获得的是192.168.10.1,因为客户端类优先级高于作用域。常见误区是以为“保留里没填就走作用域”,其实只要客户端类匹配且启用了对应选项,它就会介入。
用客户端类实现动态策略分发
单纯靠MAC保留无法应对设备迁移或批量部署场景。推荐结合客户端类(Client Classes)做策略化分配:先在DHCP控制台“定义用户类”中创建如“Win11-UEFI”(匹配Option 60 = “PXEClient:Arch:00012” + Option 93 = 17)或“Linux-DHCP”(匹配Option 60包含“anaconda”)。然后在作用域选项中为每个类单独配置006、015、043等。这样同一台笔记本插在不同VLAN,只要DHCP请求携带对应Option 60,就能自动获取对应网络的DNS、WINS甚至PXE启动路径,无需逐台做保留。
排错关键:抓包看Option 55请求列表
当客户端没拿到预期选项时,不要只查DHCP控制台配置。用Wireshark捕获DHCPDISCOVER包,重点看Option 55(Parameter Request List)——它决定了客户端想从服务器要哪些选项。如果客户端没在Option 55里请求042(NTP),即使服务器配了也不会下发。常见情况包括:老旧嵌入式设备固件不请求006,导致DNS不可用;某些Linux发行版默认不请求015(域名),结果解析全靠/etc/hosts。解决方案是在对应客户端类或作用域中启用“始终向所有客户端提供以下选项”,强制下发关键项。










