当 Cloudflare One Appliance 被配置为 LAN 的 DHCP 服务器时,您可以向它发出的租约中附加自定义 DHCP 选项。这通常用于:
- 工作站或自助终端的 PXE / iPXE 引导(选项 66、67、60、43、175、209–211)。
- VoIP 电话配置(选项 66 — TFTP 服务器)。
- 特定于供应商的客户端配置(选项 43 及其供应商子选项)。
仅当设备充当 DHCP 服务器时,才能配置 DHCP 选项。当设备处于 DHCP 中继模式时,它们不起作用。
DHCP 选项通过 API 和 Terraform 进行配置。
每个选项由三个字段定义:
| 字段 | 描述 | 示例 |
|---|---|---|
option_number |
DHCP 选项代码 (1–254)。 | 67 |
type |
值编码:text、integer、hex、ip。 |
text |
value |
选项值,根据 type 进行编码。 |
boot/x64/pxelinux.0 |
| 类型 | 格式 | 示例值 |
|---|---|---|
ip |
点分十进制 IPv4 地址。 | 10.20.30.40 |
integer |
十进制整数。 | 0 |
text |
UTF-8 字符串。 | boot/x64/pxelinux.0 |
hex |
冒号分隔的字节序列,用于子选项。 | 01:04:aa:bb:cc |
PXE / iPXE 引导最常用的选项包括:
| 选项 | 类型 | 用途 |
|---|---|---|
| 60 | text |
供应商类别标识符(通常为 PXEClient)。 |
| 66 | ip 或 text |
TFTP 服务器名称或 IP 地址(引导服务器)。 |
| 67 | text |
要加载的引导文件名(例如 ipxe.pxe 或 undionly.kpxe)。 |
| 43 | hex |
特定于供应商的信息;子选项布局由供应商定义。 |
| 175 | hex |
iPXE 特定的封装选项(HTTP/HTTPS 引导、iSCSI、DNS 等)。 |
| 209 | text |
iPXE 配置文件 URI。 |
| 210 | text |
iPXE 配置文件路径前缀。 |
| 211 | text |
iPXE 配置文件路径。 |
有关标准 DHCP 选项代码的完整列表,请参阅 IANA BOOTP/DHCP 参数注册表 ↗。
在应用新的 DHCP 选项配置之前,设备将:
- 将更改暂存到临时配置文件中。
- 与底层 DHCP 服务器一起验证语法。
- 成功时,原子地将暂存的配置替换到位并重新加载 DHCP 服务器,而不会中断服务。
- 失败时,放弃更改并将底层验证错误返回给 API 调用者。永远不会使用未经验证的配置重新启动实时 DHCP 服务。
这意味着格式错误的选项将在应用时被拒绝,而不是破坏 LAN 上客户端的 DHCP 服务。