Wake_On_Lan_WOL_本地_遠端_跨網段
阿新 • • 發佈:2021-07-01
Wake_On_Lan_WOL_本地_遠端_跨網段
轉載註明來源: 本文連結 來自osnosn的部落格,寫於 2021-07-01.
參考
基本條件
- 需要被喚醒的機器支援。即 BIOS 中要開啟 WOL 的支援。
- 傳送的喚醒資料包,能成功到達目標機器的網絡卡。
- 喚醒資料包(WOL Magic Packet),實際是一個包含特定資料的 UDP 包,目標port 7,9,2304 好像都可以。
用 openwrt 喚醒目標
- openwrt 中有 etherwake 和 wol 兩個ipk。 使用了 etherwake 包。wol 包體積較大,沒測試。
- etherwake 命令只能本地喚醒,因為沒有提供引數指定目標 IP。
- 在同一個區域網中,etherwake 能成功喚醒目標機器。
用 centos8 喚醒目標
- centos8 中,只有 wol 一個包。
- wol 有引數指定傳送的目標 IP。
- wol 是個ELF執行檔案。
- 在同一個區域網中,wol 能成功喚醒目標機器(192.168.10.30/網段的mask 255.255.255.0)。
- 目標機器如果剛關機。交換機中還留存它的mac記錄。
wol -i 192.168.10.30
可以喚醒。
wol -i 192.168.10.255
也可以喚醒。 - 目標機器如果關機很久了。交換機中沒有它的mac記錄。
wol -i 192.168.10.30
wol -i 192.168.10.255
可以喚醒。
- 目標機器如果剛關機。交換機中還留存它的mac記錄。
- 跨網段,喚醒失敗。估計是網間路由過濾掉了廣播地址。
用 debian10 喚醒目標
- 使用 win 的 Linux 子系統(WSL) 的 debian10,結果也一樣。
WSL中,wakeonlan 命令使用正常,無需root許可權。
WSL中,etherwake 命令無法使用,說是不支援Address family not supported by protocol
。 - debian10 中,有 etherwak 和 wakeonlan 兩個包。
- etherwake 是ELF執行檔案。 wakeonlan 是perl指令碼檔案。
- ehterwake 沒有引數指定目標 IP。wakeonlan 有引數指定傳送的目標 IP。
- 在同一個區域網中,etherwake 和 wakeonlan 都能成功喚醒目標機器(192.168.10.30/網段的mask 255.255.255.0)。
- 目標機器如果剛關機。交換機中還留存它的mac記錄。
wakeonlan -i 192.168.10.30
可以喚醒。
wakeonlan -i 192.168.10.255
也可以喚醒。
etherwake
預設發往 192.168.10.255,可以喚醒。 - 目標機器如果關機很久了。交換機中沒有它的mac記錄。
wakeonlan -i 192.168.10.30
不能喚醒。
wakeonlan -i 192.168.10.255
可以喚醒。
etherwake
預設發往 192.168.10.255,可以喚醒。
- 目標機器如果剛關機。交換機中還留存它的mac記錄。
- wakeonlan 跨網段,喚醒失敗。估計是網間路由過濾掉了廣播地址。
轉載註明來源: 本文連結 https://www.cnblogs.com/osnosn/p/14958638.html
來自 osnosn的部落格 https://www.cnblogs.com/osnosn/ .