dnsmasq 代理模式和 efi 启动

dnsmasq 代理模式和 efi 启动

因此,我的本地网络中已经有 DHCP 服务器。但我想使用网络启动 (PXE) 设置新虚拟机。我已将 dnsmasq 设置为proxyDHCP向启动客户端提供 PXE 信息,同时使用其他 DHCP 服务器提供 IP/MASK。
问题:我能够设置 PXE 传统启动,并且它工作正常,但不能设置 EFI 启动。它显示“PXE-E18 服务器响应超时”。在 Hyper-V VM Gen2 和物理连接的 PC 上尝试过。我在日志中看到 dnsmaq 收到请求,但什么也没发生……

所以问题是:这是 dnsmasq 问题吗?如果是,您能否建议一些替代方案?

我的配置是否有帮助

tftp-root=/opt/pxeboot/tftpboot
enable-tftp

dhcp-vendorclass=BIOS,PXEClient:Arch:00000
dhcp-vendorclass=UEFI,PXEClient:Arch:00007

dhcp-boot=net:UEFI,uefi/bootx64.efi
dhcp-boot=net:BIOS,pxelinux.0

dhcp-no-override
pxe-prompt="Press F8 for boot menu", 1
pxe-service=X86PC, "Boot Legacy PXE", pxelinux

dhcp-range=192.168.1.99,proxy

编辑

Feb 19 16:17:56 dnsmasq-dhcp[16026]: 2483890568 vendor class: PXEClient:Arch:00007:????:??????
Feb 19 16:17:56 dnsmasq-dhcp[16026]: 2483890568 PXE(eth0) 00:15:5d:21:94:0a proxy
Feb 19 16:17:56 dnsmasq-dhcp[16026]: 2483890568 tags: UEFI, eth0
Feb 19 16:17:56 dnsmasq-dhcp[16026]: 2483890568 bootfile name: uefi/bootx64.efi

因此客户端架构是 7

所有文件均已到位。

提前致谢。

答案1

请检查 DHCP 选项 93RFC 4578

        Type   Architecture Name
        ----   -----------------
          0    Intel x86PC
          1    NEC/PC98
          2    EFI Itanium
          3    DEC Alpha
          4    Arc x86
          5    Intel Lean Client
          6    EFI IA32                             < x86
          7    EFI BC                               < x86_64
          8    EFI Xscale
          9    EFI x86-64                           < x86_64

您忘记在 dnsmasq 配置中考虑类型 9。如果您的 x86_64 客户端在其 DHCP 选项 93 中宣布类型 9,则该请求将被 proxyDHCP 忽略。

要查看真正发生的情况,只需运行 Wireshark 捕获。

请参阅我已经编辑了您的问题;proxyDHCP 仅向 PXE 客户端提供 PXE 信息。

相关内容