windows dhcp客户端支持用户类id(手动绑定单网卡)和供应商类id(option 60,注册表或组策略全局配置),二者用途、配置方式及生效层级不同,须在服务器端同步定义对应类并绑定选项方可生效。
windows dhcp 客户端支持两种类 id 机制:用户类 id(user class id)和供应商类 id(vendor class id,即 option 60)。它们用途不同、配置方式不同、生效层级也不同,不能混用。实际管理中需明确区分目标——是想由客户端主动声明身份(如“sales-laptop”),还是让系统在 dhcp 发现阶段自动携带设备类型标识(如“mycorp-win10”)。
用户类 ID:按需手动绑定,作用于单个网卡
用户类 ID 是由管理员在客户端侧显式设置的字符串,用于将特定终端归入预定义的逻辑分组。它不随系统启动自动发送,必须为每个网络适配器单独指定,且需与 DHCP 服务器上定义的“用户类别”名称完全匹配才能触发对应策略。
- 查看当前网卡的用户类 ID:运行 ipconfig /showclassid "以太网"(引号内为连接名称)
- 设置用户类 ID:执行 ipconfig /setclassid "以太网" Sales-Laptop(值区分大小写,长度≤64字符)
- 清除用户类 ID:运行 ipconfig /setclassid "以太网" ""
- 该设置重启网卡或执行 ipconfig /release && ipconfig /renew 后生效,仅影响该接口后续的 DHCP 请求
供应商类 ID(Option 60):全局注册表/组策略控制,自动携带
供应商类 ID 是 Windows DHCP 客户端在 DHCP Discover 报文中自动填充的字段(RFC 2132 中的 Option 60),默认值为 msft 5.0(Win10/Win11 均沿用)。它反映的是操作系统层面的“厂商+平台”标识,适用于服务端基于设备类型做池分配、选项下发等场景。
- 修改方式一(注册表):在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dhcp\Parameters 下新建字符串值 VendorClassIdentifier,填入自定义值(如 IoT-Win11-Edge)
- 修改方式二(域环境推荐):通过组策略路径 计算机配置 → 管理模板 → 网络 → TCP/IP 设置 → DHCP → 指定DHCP供应商类标识符 启用并填写值
- 生效后需执行 ipconfig /release && ipconfig /renew(部分环境需两次 renew),或重启 DHCP 客户端服务(net stop dhcp && net start dhcp)
- 注意:该设置对本机所有网络接口生效,无法按接口差异化;验证必须抓包(Wireshark 过滤 bootp.option.vendor_class_id)
DHCP 服务器端需同步定义对应类并绑定选项
无论使用用户类还是供应商类,DHCP 服务器都必须预先创建同名类,并在作用域/类级别配置专属选项(如租期、网关、DNS、静态路由等),否则客户端即使携带了类 ID,也不会获得差异化配置。
- Windows Server DHCP:右键服务器 → 【定义用户类别】或【定义供应商类别】→ 添加名称 → 在作用域【作用域选项】→ 【高级】选项卡中选择该类并配置参数
- ISC DHCP:在 dhcpd.conf 中使用 class 和 subclass 声明,并用 pool 或 option 绑定逻辑
- 华为 AC/交换机:使用 dhcp server class 创建类,再通过 dhcp server group 关联选项组
常见误区与验证要点
很多问题出在“只改客户端、不配服务器”或“混淆两类 ID 的用途”。例如,把供应商类 ID 当作用户类来设置,或在服务器上定义了用户类却未在客户端执行 ipconfig /setclassid,都会导致策略失效。
- ipconfig /all 不显示任何类 ID,仅显示获取到的网络参数
- ipconfig /showclassid 只显示用户类 ID,不显示供应商类 ID
- 真正有效的验证手段只有两种:Wireshark 抓 DHCP Discover 包看 Option 60 或 Option 77 字段,或在 DHCP 服务器日志中检查收到的 class 信息
- 若需多网卡差异化识别(如有线走 Sales 类、无线走 Guest 类),只能用用户类 ID + 脚本批量绑定,供应商类 ID 无接口级控制能力











