ISC DHCP Server配置Legacy/UEFI双架构PXE启动时文件名分配异常排查求助
ISC DHCP Server配置Legacy/UEFI双架构PXE启动时文件名分配异常排查求助
各位好,我最近在搭建支持Legacy和UEFI双架构的PXE服务器,核心需求是根据客户端的架构类型自动返回对应的引导加载器——UEFI x64机器用grubx64.efi,Legacy BIOS机器用pxelinux.0,但现在遇到了个棘手的问题:无论哪种架构的机器启动,DHCP服务器都只会返回pxelinux.0,完全不按我设置的逻辑执行。
先贴一下我在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"; }
我已经确认过客户端的问题:用tcpdump抓包验证了,客户端确实正确发送了option 93的架构信息——UEFI机器发的是00:07,BIOS机器也发送了对应的值,但服务器就是不识别这个条件分支,一律走else返回pxelinux.0。
我也尝试过按照Red Hat官方示例的方式,把这个条件判断放到class里,但依然没有效果。另外因为我是给新主机做配置,dhcpd.leases里也没有supersede server.filename = "pxelinux.0";这类会覆盖配置的内容,排除了这个干扰项。
我的环境是CentOS 7系统,用的是ISC DHCP Server 4.2.5版本,TFTP服务器里的grubx64.efi和pxelinux.0文件都已经准备妥当,路径也没问题。
有没有大佬遇到过类似的问题?或者能帮我看看我的配置哪里写错了吗?万分感谢!
备注:内容来源于stack exchange,提问作者SibVal
相关产品推荐
相关产品推荐

