客户端从 DHCP 服务器获取错误选项

客户端从 DHCP 服务器获取错误选项

我正在设置一台机器,使用 PXEBoot 加载 Debian 安装,按照Debian 维基。我的启动映像位于 的服务器上。pxe.example.com/var/lib/tftpboot/debian-jessie/pxelinux.0我使用 时,我可以从我网络上的任何机器手动下载该文件tftp pxe.example.com,但当我启动客户端机器时,仍然会出现此错误:

PXE-T01: File not found
PXE-E3B: TFTP Error - File Not found
PXE-M0F: Exiting PXE ROM.

问题是,即使我/etc/dchpd.conf的 DHCP 服务器上有这个:

group {
    next-server pxe.example.com;
    option option-209 "/debian-jessie/pxelinux.cfg/default";
    filename "/debian-jessie/pxelinux.0";

    host theclient {
        hardware ethernet my:ma:ca:dd:re:ss;
        fixed-address theclient.example.com;
    }
}

每次编辑后都会运行/etc/rc.d/dhcpd restart,客户端从服务器获取 IP 地址,但它仍然试图从 下载错误的文件名pxe!PXE 服务器daemon.log显示:

in.tftpd: RRQ from <client's ip> filename debian-bios/pxelinux.0
in.tftpd: sending NAK (1, File not found) to <client's ip>

我尝试了显而易见的解决方法,只是将 的名称更改debian-jessiedebian-bios,但最终还是失败了,因为目录结构不匹配。我无法弄清楚的是,它从哪里得到了目录被调用的想法debian-bios!这是对旧系统的更新,但“bios”这个词甚至没有出现在我的 的任何地方dhcpd.conf,那么这个文件名是从哪里来的呢?

就像我说的,我重新启动了dhcpd,然后我可以看到它正在向客户端提供一个 IP 地址。整个握手过程都在进行并且正常工作,但它获取的文件名选项无论如何都是错误的。

我肯定漏掉了什么。有谁知道它还可能在哪里检索该选项,或者它没有按照我的预期执行的其他原因是什么?

谢谢!

答案1

但是“bios”这个词甚至没有出现在我的 dhcpd.conf 中的任何地方,那么这个文件名是从哪里来的呢?

它肯定来自您网络中启用了 PXE 的“第二个” DHCP 服务器......

或者

/etc/dchpd.conf 不是真正驱动 DHCP 守护进程的配置文件。

在这些情况下,Wireshark 流量捕获确实可以提供很大帮助。

相关内容