H3C交换机PXE配置内容
H3C 交换机 DHCP 配置中,PXE 相关主要通过两个字段:
bootfile-name:客户端请求的启动文件名next-server:PXE 服务器的 IP 地址
这两个字段在 H3C Comware 中配置在 DHCP 地址池(dhcp server ip-pool)下。
iPXE 与传统 PXE 的区别
iPXE 是开源网络启动固件,相比传统 PXE ROM 有两大优势:
- 携带 Option 175:iPXE 在 DHCP Discover 报文中会发送 Option 175(Vendor-Specific Information),传统 PXE ROM 不会。利用这个差异可以区分两种客户端。
- 支持更多协议:除了 TFTP,还支持 HTTP/HTTPS、iSCSI、FCoE 等。
| 传统 PXE ROM | iPXE | |
|---|---|---|
| Option 175 | 不发送 | 发送 |
| 启动文件 | undionly.kpxe / bootnetx64.efi |
ipxe.efi |
配置方式
# 创建 DHCP 用户类,用 ascii 匹配携带 Option 175 的客户端(即 iPXE)
dhcp class ipxe
if-match rule 1 option 175 ascii "iPXE"
# 创建地址池,为 iPXE 客户端分配启动文件
dhcp server ip-pool iPXE
network 10.0.2.0 mask 255.255.255.0
bootfile-name ipxe.efi
next-server 10.0.2.2
# 创建 DHCP 策略,将用户类关联到地址池
dhcp policy 1
class ipxe ip-pool iPXE
if-match rule 1 option 175 ascii "iPXE":iPXE 在 Option 175 中封装了自身标识,用ascii模式匹配字符串"iPXE"即可识别。
if-match 匹配方式
H3C Comware 的 if-match 支持三种匹配模式:
| 模式 | 语法 | 说明 |
|---|---|---|
hex 精确 |
if-match rule 1 option N hex <hex> [offset X] [length Y] |
指定偏移处匹配指定字节 |
ascii |
if-match rule 1 option N ascii "<string>" |
按 ASCII 字符串匹配 |
partial |
if-match rule 1 option N hex <hex> partial |
模糊匹配,只要选项中包含指定字节即命中 |