客户端从DHCP服务器得到错误的选项

按照Debian Wiki的指导,我正在设置一台机器来加载PXEBoot的Debian安装。 我将引导映像放在服务器pxe.example.com ,位于/var/lib/tftpboot/debian-jessie/pxelinux.0 。 当我使用tftp pxe.example.com ,我可以从networking上的任何机器上手动下载该文件,但是在启动客户机时仍然出现这个错误:

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

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

 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-jessie的名字改成了debian-bios但是由于目录结构不匹配,最后还是失败了。 我无法弄清楚的是,它是从哪里得到的想法,首先是名为debian-bios的目录! 这是一个更旧的系统更新,但“bios”甚至不出现在我的dhcpd.conf任何地方,那么这个文件名可能来自哪里?

就像我说的,我重新启动dhcpd ,我可以看到它给客户端一个IP地址。 整个握手正在发生,并正常工作,但它所得到的文件名选项无论如何是不知何故。

我肯定错过了什么。 有谁知道在哪里可能检索该选项,或者其他原因,为什么它不是我所期望的?

谢谢!

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

它肯定来自您的networking中的“第二”启用PXE的DHCP服务器…

要么

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

在这些情况下,一个Wiresharkstream量捕获真的可以帮助很多。