我正在尝试配置 PXE 服务器以支持 Legacy/UEFI。因此我需要根据机器的架构提供不同的引导加载程序。
以下为部分内容dhcpd.conf
:
option architecture-type code 93 = unsigned integer 16 ;
next-server 10.10.10.10;
if option architecture-type = 00:07 {
filename "grubx64.efi";
} else {
filename "pxelinux.0";
}
这个块似乎根本不起作用。无论我从哪台机器启动,无论是 BIOS 还是 UEFI,服务器都会提供pxelinux.0
。我确信机器提供了有关架构的正确信息(选项 93)——我使用查看了包的内容tcpdump
。
我已经尝试将其包装在类中,如 Red Hat 示例中所示。我正在尝试创建新主机,因此dhcpd.leases
这supersede server.filename = "pxelinux.0";
不是问题。
我在 CentOS 7 上使用 ISC DHCP 服务器 4.2.5,文件由 TFTP 提供
答案1
我的错,我没有发布完整的内容dhcpd.conf
有一行关于使用 omapi 的内容,结果发现另一个程序负责创建dhcpd.leases
带有硬编码引导加载程序名称的文件。