PXE

H3C交换机PXE配置内容

H3C 交换机 DHCP 配置中,PXE 相关主要通过两个字段:

  • bootfile-name:客户端请求的启动文件名
  • next-server:PXE 服务器的 IP 地址

这两个字段在 H3C Comware 中配置在 DHCP 地址池(dhcp server ip-pool)下。

iPXE 与传统 PXE 的区别

iPXE 是开源网络启动固件,相比传统 PXE ROM 有两大优势:

  1. 携带 Option 175:iPXE 在 DHCP Discover 报文中会发送 Option 175(Vendor-Specific Information),传统 PXE ROM 不会。利用这个差异可以区分两种客户端。
  2. 支持更多协议:除了 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 模糊匹配,只要选项中包含指定字节即命中