前言
其實這個專題很久很久之前就想寫了,但是一直因為各種原因拖著沒動筆,
因為沒有資格,也沒有錢在一線城市買房 (??????); 但是在要結婚之前,婚房又是剛需,
我和太太最終一起在一線城市周邊的某二線城市買了房,
再之后,一起裝修,她負責非電相關,我負責電 網相關的裝修,
家庭組網,家庭實驗室就這么一步一步隨著家庭的組建而組建了起來:
- 家庭有線無線組網
- 智能家居
- NAS
- 公網 IP 和 IPv6
- Wake Online (WOL)
- 家庭網路安全 (??看了防火墻日志,才知道被攻擊頻率能有多高)
- 玩轉樹莓派
- 組建 Full Mesh VPN 網路
- 手機 PAD 遠程控制電腦
- ...
有了所謂的"家庭實驗室", 我的自身專業技能有了更多實驗機會和試煉場,對新的技術了解不再浮于表面;
有了所謂的"家庭實驗室", 即使兩地奔波,也能通過手機看到我們,以及小孩經歷的每一個點點滴滴,幸福縈繞心頭,..
理工男難得這么矯情一下,此為前言,..
系列文章:
- 標簽 - HomeLab - 東風微鳴技術博客 (ewhisper.cn)
Wake-on-LAN(WOL) 簡介
LAN 喚醒(WoL 或 WOL)是以太網或令牌環計算機網路標準,允許通過網路訊息打開或喚醒計算機,
訊息通常由在連接到同一局域網的設備上執行的程式發送到目標計算機,
以太網連接(包括家庭和作業網路、無線資料網路和 Internet 本身)都基于計算機之間發送的幀, WoL 是使用一種特殊設計的稱為魔術包的幀來實作的,魔術包被發送到網路中的所有計算機,其中包括要被喚醒的計算機, 魔術分組包含目的地計算機的 MAC 地址、內置在計算機中的每個網路介面卡(“NIC”)或其它以太網設備中的標識號,其使得它能夠在網路上被唯一地識別和尋址, 具有 LAN 喚醒功能的已關機或關閉的計算機將包含能夠在系統關機時以低功耗模式“偵聽”傳入資料包的網路設備, 如果接收到指向設備 MAC 地址的魔術包,網卡會向計算機的電源或主板發出信號,以啟動系統喚醒,其方式與按下電源按鈕的方式相同,
魔術分組在資料鏈路層(OSI 模型中的第 2 層)上被發送,并且當被發送時,使用網路廣播地址被廣播到給定網路上的所有附接的設備;不使用 IP 地址(OSI 模型中的第 3 層),
由于 LAN 喚醒是基于廣播技術構建的,因此通常只能在當前網路子網內使用, 不過,也有一些例外情況,LAN 喚醒實際上可以在任何網路上運維,只要配置和硬體適當,包括通過互聯網進行遠程喚醒,
為了使 LAN 喚醒作業,網路介面的某些部分需要保持打開狀態,這會消耗少量的待機功率,比正常作業功率少得多, 鏈路速度通常被降低到不浪費功率的最低可能速度(例如,千兆以太網 NIC 僅維持** 10 Mbit/s 的鏈路**),
網路喚醒 (WOL) 的前提條件
硬體: (幾乎現在的所有電腦都滿足)
- 電源:支持 ATX 2.01 標準
- 主板:支持 PCIE 2.2 標準
主板 BIOS:
- 啟用 PCIE 設備喚醒(可能會有很多不同的名字,關鍵詞:"wake" "wol" "PCIE" "Power On" 等)
電腦電源設定和狀態:
- S3(一般是睡眠)
- S4(一般是休眠)
- S5(一般是關機)
配置得當后,主板在這些狀態下,網卡會處于待機 (standby) 狀態,可以隨時被魔術包喚醒,
有線網卡配置(必須是有線網卡):
啟用如下配置:
允許此設備喚醒計算機只允許幻資料包喚醒計算機
WOL 完整配置
BIOS 配置
這里以 MSI B450 迫擊炮 主板為例,開機后按 DEL 鍵進入 BIOS 設定,BIOS 界面左上角有個 ?? 樣式的搜索按鈕,直接搜索關鍵詞 "PCIE" 即可找到:"PCIE 設備喚醒" 選項,將其設定為 允許. 如下圖:

Windows 電源選項設定
??注意:
適用于 windows 8.1 以上,win7 快速啟動選項不是默認啟用項,
進入 控制面板 -> 電源選項 -> 系統設定:
關閉 啟用快速啟動(推薦), 如下圖:

另外提一句,休眠可以開啟,休眠狀態下是可以被喚醒的,
詳細說明如下:
??Reference:
System Power States - Win32 apps | Microsoft Learn
快速啟動是一種使用休眠檔案來加快后續啟動速度的關機型別,
當使用快速啟動時,即使系統實際上已經屬于 S4 狀態,系統對用戶來說也好像發生了完全關機(S5), 系統此時不會回應設備喚醒,
?? 備注:
從 Windows 8 開始,當請求系統關機時,快速啟動是默認選項,
這也是為什么建議關閉 啟用快速啟動(推薦)
一般情況下,我們都是可以從休眠狀態網路喚醒設備的,如果主板支持,甚至可以在 關機 (S5) 狀態網路喚醒設備,
具體說明如下:
??Reference:
WOL 在軟關閉(S5)時不受 (windows) 正式支持, 但是,某些系統上的 BIOS 可能支持配置 NIC 以進行喚醒,即使該程序中不涉及 Windows,
這里以 MSI B450 迫擊炮 主板為例,相關的設定如下:



啟用了以上選項后, 我的電腦可以直接在關機(S5) 狀態下被 WOL 喚醒. (供參考)
有線網卡配置
首先,最重要的??????, 一定要注意,先手動安裝或更新對應作業系統版本的有線網卡驅動 (win10 就下載對應的 win10 網卡驅動,win11 就下載對應的 win11 網卡驅動), 確保已成功安裝完整的官方驅動,而不是 window 自動安裝的驅動. windows 自動安裝的驅動可能無法實作 WOL 功能,
還是以我的 MSI B450 迫擊炮為例,在 MSI 官網下載 PCIE 網卡驅動,驅動包如下圖:

這里以 Realtek PCIe 系列為例,配置如下:
控制面板 -> 網路連接 -> 選擇對應的有線網卡, 右鍵 -> 屬性 -> 配置, 如下圖:

進入有線網卡配置 后,選擇高級, 開啟與喚醒有關的所有功能,關閉與環保節能有關的所有功能,示例如下:






接下來,進入電源管理 標簽頁,勾選:
- 允許計算機關閉此設備以節約電源
- 允許此設備喚醒計算機
- 只允許幻資料包喚醒計算機

詳細說明如下:
Q: 為什么勾選 只允許幻資料包喚醒計算機?
A: 如不勾選,可能會被時不時誤喚醒
實戰 WOL
以上主板 BIOS 系統電源選項 網卡配置 都設定好之后,就可以進行 WOL 了,
WOL 客戶端前提
- 需要和被喚醒設備在同一局域網內
- 需要安裝 WOL Client 相關軟體(安卓,Linux, Windows 等版本都有)
- 需要知道被喚醒設備的 MAC 地址(能知道 IP 地址更好,且 IP 地址固定更更好)
步驟
??Notes:
這里以 Linux 或類似(樹莓派或路由器) 和 安卓為例,
Linux 端實戰 WOL
安裝 WOL Client: etherwake (這里也有好幾種 WOL Client, 這里以這一款為例)
sudo apt install -y etherwake
安裝后,在被喚醒設備處于休眠狀態下,執行喚醒:
etherwake -i eth0 -p 192.168.2.32 2C:F0:xx:xx:xx:5E
說明:
-i eth0: 通過哪個 WOL Client 的網卡發送魔術包,可以通過ifconfig或ip address找到和被喚醒設備在同一局域網的網卡名稱,如下圖:

??這里我的局域網是192.168.2.0/24, 所以選擇:eth0或wlan0都可以-p 192.168.2.32: 被喚醒設備的 IP 地址2C:F0:xx:xx:xx:5E: 被喚醒設備的 MAC 地址
成功喚醒!
安卓端實戰 WOL
這里推薦安裝:WolOn 這款 WOL Client.
先輸入被喚醒設備的相關資訊,如下:

??MAC 地址必填,其他非必填
保存后,點擊這一條,會出現搖晃??的過渡影片,然后就可以成功喚醒,如下圖:


??????
我的 WOL 用法
對于 Home Lab 來說,主要的用法都是這樣的場景:
- 人在外地
- 家里高配臺式機在休眠
- 希望通過互聯網 WOL 家里的臺式機
這里主要有 2 種思路:
- 將家里臺式機的網路喚醒埠映射到互聯網上
- 這樣直接通過 WOL Client 訪問互聯網指定埠,WOL Client --互聯網--> 互聯網對應的 WOL 埠 ----> 相當于局域網網關去喚醒指定設備
- 但是有前提:有公網 IP
- 也有一定的劣勢:暴露在公網,不太安全
- 家里放一臺 Always On 的小設備(如:軟路由,樹莓派,NAS 等), 再將人帶在外地的設備(如手機或 pad) 和家里的設備組建一個 Full Mesh VPN 內網(或者家里某一臺可以內網穿透連接到也行)
- 通過 VPN 登錄到 Always On 的小設備上
- 再通過該設備執行 WOL
- 這樣會更加安全,
我用的就是第二種,理由如下:
- 此前曾開放到公網上,被 Hack 的頻率太高了,嚇到我了,我可不想成為肉雞;
- 聯系電信運營商要了個公網 IPv4, 用了一段時間,突然被悄悄滴識訓去了??
- IPv6 吧,在外地的環境不可能永遠都有 IPv6 地址可以使用,
- 最后:安全,安全,還是安全!
總結
本文我們詳細介紹了 WOL 的基本原理,以及使用場景,
并總結和 windows 電腦啟用 WOL 需要配置的幾個環節:
- 主板 BIOS
- Windows 系統電源選項
- 有線網卡配置
以及 WOL Client 的使用,
最后,也根據自己的使用情況,對 WOL 稍微做了延申,更貼近實際應用場景,
希望本文對大家有所幫助~ ??????
本文由博客一文多發平臺 OpenWrite 發布!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/536890.html
標籤:其他
