LAN 喚醒:單播不工作。為什麼?

LAN 喚醒:單播不工作。為什麼?

在我們公司網路中設定 LAN 喚醒時,我遇到了一個奇怪的問題。

對於要喚醒的工作站,以下情況成立:

  • 在 BIOS 和網卡設定中啟用 WOL
  • 路由器將始終為該工作站指派相同的 IP 位址(MAC 位址)
  • 網路卡配置為自動取得IP位址

發送WOL指令的工作站與要喚醒的工作站在同一子網路中。現在,如果我嘗試喚醒機器,會發生以下情況:

開始條件:機器關閉一天或多天

  • 如果我透過網路廣播發送WOL命令(僅允許測試),機器喚醒成功
  • 如果我直接向該工作站發送 WOL 命令(使用 IP 位址、子網路遮罩、DNS 名稱),機器將不會喚醒。
  • 只有當我手動啟動機器至少一次後,才可以透過直接向其 IP 位址發送 WOL 命令來喚醒機器。

有人知道為什麼機器關閉較長時間後無法直接透過其 IP 位址喚醒,以及為什麼如果我使用「廣播」作為 WOL 方法會起作用?

任何回應都將受到高度讚賞。

答案1

正如 @ott 的評論所提到的,您無法將單播流量發送到當時網路上不活動的電腦。不過,“網路上活動”對於不同的設備意味著不同的內容...對於PC 或路由器等第3 層設備,這意味著“該設備在過去4 小時內的某個時間與機器進行過通信” (取決於arp)逾時),對於交換器等第2 層設備來說,這意味著「交換器在過去5 分鐘內的某個時間看到了具有該來源mac 位址的資料包」(取決於mac 老化時間) 。

您聲明單播 WOL 在裝置開啟然後關閉時起作用,但您沒有聲明它是否在機器關閉後的某個時間停止工作。這是可行的,因為路由器(或生成WOL 資料包的PC,如果在同一子網路中)具有arp 條目(4 小時超時)並且可以創建發送到正確機器的資料包,但是交換器要么知道端口,要么知道mac 位址屬於(在 mac 老化時間內發送的 WOL)或該 mac 位址已逾時,因此它將未知目的地視為廣播。一旦 arp 條目逾時,路由器(或 PC)將無法封裝 WOL 封包,因為它沒有任何內容可放入 dest-mac 欄位。

要完成這項工作,您需要使用廣播,沒有其他可靠的方法。要讓WOL 在與伺服器連接的網路不同的網路上運作,您需要使用定向廣播封包(傳送到遠端網路的廣播位址的單播封包,正確配置的遠端路由器將允許該封包並將其作為廣播發送到預期的目標上)網路)。

相關內容