Pxe-Boot

客戶端從 DHCP 伺服器獲取錯誤選項

  • July 29, 2015

我正在設置一台機器以使用 PXEBoot 載入 Debian 安裝,遵循Debian Wiki上的指南。我的啟動映像位於伺服器上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-jessieto,debian-bios但由於目錄結構不匹配,最終還是失敗了。我無法弄清楚的是它從哪裡得到了debian-bios首先呼叫目錄的想法!這是對舊系統的更新,但“bios”這個詞甚至沒有出現在 my 中的任何地方dhcpd.conf,那麼該文件名是從哪裡來的呢?

就像我說的,我重新啟動dhcpd了,我可以看到它正在給客戶端一個 IP 地址。整個握手過程正在發生並且工作正常,但是它得到的文件名選項無論如何都是錯誤的。

我肯定錯過了什麼。有誰知道它可能會在哪裡檢索該選項,或者它沒有按照我的預期執行的任何其他原因?

謝謝!

但是“bios”這個詞甚至沒有出現在我的 dhcpd.conf 中,那麼這個文件名是從哪裡來的呢?

它肯定來自您網路中的“第二個”啟用 PXE 的 DHCP 伺服器…

要麼

/etc/dchpd.conf 不是真正驅動 DHCP 守護程序的 conf 文件。

在這些情況下,Wireshark 流量擷取真的很有幫助。

引用自:https://serverfault.com/questions/709241