使用 TFTP32 E32 逾時問題從 Windows 7 PC 進行 PXE 網路啟動

使用 TFTP32 E32 逾時問題從 Windows 7 PC 進行 PXE 網路啟動

我正在嘗試網路啟動一台沒有 CD 驅動器且沒有 USB 啟動選項的 PC(在 BIOS 中可用,但無法識別 USB,可能以某種方式損壞)。

無論如何,這是來自 TFTP32 的日誌:

Rcvd DHCP Discover Msg for IP 0.0.0.0, Mac 00:1F:D0:8D:8B:09 [06/12 13:06:48.916]
DHCP: proposed address 192.168.2.1 [06/12 13:06:48.917]
Rcvd DHCP Rqst Msg for IP 0.0.0.0, Mac 00:1F:D0:8D:8B:09 [06/12 13:06:51.113]
Previously allocated address 192.168.2.1 acked [06/12 13:06:51.113]
Connection received from 192.168.2.1 on port 2070 [06/12 13:06:51.125]
Read request for file <netboot\pxelinux.0>. Mode octet [06/12 13:06:51.126]
Using local port 53708 [06/12 13:06:51.127]
Connection received from 192.168.2.1 on port 2071 [06/12 13:06:53.125]
Read request for file <netboot\pxelinux.0>. Mode octet [06/12 13:06:53.126]
Using local port 53709 [06/12 13:06:53.127]
Connection received from 192.168.2.1 on port 2072 [06/12 13:06:57.136]
Read request for file <netboot\pxelinux.0>. Mode octet [06/12 13:06:57.137]
Using local port 53710 [06/12 13:06:57.137]
Connection received from 192.168.2.1 on port 2073 [06/12 13:07:03.122]
Read request for file <netboot\pxelinux.0>. Mode octet [06/12 13:07:03.123]
Using local port 53711 [06/12 13:07:03.124]
TIMEOUT waiting for Ack block #1  [06/12 13:07:06.129]
TIMEOUT waiting for Ack block #1  [06/12 13:07:08.129]
Connection received from 192.168.2.1 on port 2074 [06/12 13:07:11.086]
Read request for file <netboot\pxelinux.0>. Mode octet [06/12 13:07:11.087]
Using local port 53717 [06/12 13:07:11.088]
TIMEOUT waiting for Ack block #1  [06/12 13:07:12.139]
TIMEOUT waiting for Ack block #1  [06/12 13:07:18.126]
TIMEOUT waiting for Ack block #1  [06/12 13:07:26.090]

另外,當我 ping 計算機時,我得到:

Pinging 192.168.2.1 with 32 bytes of data:
Reply from 10.20.21.188: Destination net unreachable.
Reply from 10.20.21.188: Destination net unreachable.
Reply from 10.20.21.188: Destination net unreachable.
Reply from 10.20.21.188: Destination net unreachable.

Ping statistics for 192.168.2.1:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
PS C:\Windows\system32>

如果有人對我如何糾正這個問題有任何想法,我將不勝感激。

問候

編輯_>

可能有用的其他信息

  1. 我沒有使用交叉電纜;然而,我的伺服器電腦上的網路卡是千兆位元的,但是我不確定這是否意味著我仍然需要一條交叉電纜。兩台 PC 僅透過快速乙太網路交換器連接。

  2. 網路啟動的最終目標是在客戶端電腦上安裝 Debian。我目前正在運行 Apache 伺服器,但我尚未確定下一步將是什麼。我正在啟動 pxelinux.0(還不太確定它到底是什麼,我從網上下載的 Debian tar.gz 檔案中獲取了它)這裡)。

答案1

您的 IP 子網路肯定有問題。如果一台電腦位於 10.20.21.x,另一台電腦位於 192.168.2.x,則您處於完全不同的網路類型。您可能需要與網路管理員或了解網路的人交談。兩台電腦需要位於同一網路和同一子網路中,除非您已開啟 TFTP 伺服器到另一個子網路的交換器。

答案2

不久前我在使用 tftpd32 時遇到了同樣的「超時等待 ack」問題。解決這個問題的方法是暫時停用 Windows 電腦上的防火牆。當它可以在沒有防火牆幹擾的情況下進行通訊後,我的傳輸就完成了。正如在一個中提到的不同的博客您可能還需要確保您已在選項中的 TFTP 伺服器標籤上正確配置了所有內容(例如 pxe 相容性),並確保 DHCP 伺服器的子網路與您將電腦插入的介面的子網路相匹配,並且當您進行此操作時,您的網路上沒有其他DHCP 伺服器。

關閉防火牆可能很危險,因此請小心,不要忘記重新啟用它!

更新:

現在我重新閱讀並思考了更多,看來這絕對是您的 IP 位址的問題。從 ping 輸出來看,您的 Windows 電腦的 IP 為 10.20.21.188,而您要部署的電腦從 tftp32 取得的 IP 位址為 192.168.2.1。由於它們位於不同的網路上,根據您所描述的設置,它們無法相互通訊。為了使其運作,您必須編輯 tftp32 中的 DHCP 池,或將電腦的 IP 變更為正確網路中的靜態位址以符合 DHCP 池。

答案3

我遇到了同樣的問題,每當客戶端嘗試從我的 tftpd 伺服器取得檔案時,都會出現「TIMEOUT waiting for Ack block #1」錯誤。

我首先嘗試在伺服器防火牆中啟用 TFTP UDP 連接埠 69,但這沒有幫助。
最終,問題的根源被證明是在客戶端,而不是在伺服器端!
原因是 TFTP 使用動態分配的 UDP 連接埠將資料傳送回客戶端。
需要在其中新增一條規則客戶防火牆,允許客戶端 tftp 應用程式在任何 UDP 連接埠上接收資料。在 Windows 用戶端上,即 C:\Windows\System32\tftp.exe。

答案4

節省您的時間並避免 PXE 環境中的 DHCP 問題;使用現有的 DHCP 基礎設施並設定 PXE 伺服器(即塞瓦) 在代理DHCP模式。這樣,您就不必處理不同的子網路 IP 錯誤(例如您現在遇到的錯誤),也不必更改目前的 DHCP 伺服器設定。

相關內容