Wake On Lan (WOL) 透過手機喚醒家中的 NAS 等裝置

有時候人不在電腦前,遇到一定需要用電腦處理的事情或許可以透過遠端桌面解決。但如果這些需要常駐的主機,電腦或者 NAS 因為停電或其他因素關機了,卻無法馬上返回家中開機,這時候如果能透過網路開機就顯得頗為便利。其實這種網路開機功能一般稱之為 WOL (Wake On LAN) 網路喚醒功能,藉由網路(一般為有線網路) 傳送一個特定格式的 WOL Magic 封包至支援的主機板及網卡,便可以遠端地開啟已經關機的主機或NAS了。

硬體支援

如果想要透過 WOL 來開機,你必須具備以下的條件
– 支援 WOL 的主機板 (現今的主機板幾乎都支援)
– 搭配支援 WOL 的網卡 (判斷方法即是網卡有沒有多一條 WOL 的供電線)

BUT,這麼多條件真的很難搞定,其實現今大多還不錯的 NAS 都具備 WOL 的功能,比起在 PC 上搞定簡單多了!例如 Synology 的機種大多都支援 WOL,你也可以在下列網頁查詢支援機種:
哪些 Synology NAS 機種支援 WOL (網路喚醒)?

魔術封包

那 WOL 的原理又是如何達成的呢?
WOL 中的 magic 魔術封包構造其實很簡單,開頭主要由六個 byte 的 0xff 構成,即:FF FF FF FF FF FF,在連續6個”FF”後後綴加上則目標裝置的 MAC 地址(也是六個Byte)重複16次,共102 Bytes。一旦經由網路卡 (通常是 Port 9) 偵測到魔法封包的內容,本身網卡的 MAC位址符合封包中指定的 MAC 位址,就會啟動喚醒或開機的程式。

Array

講了這麼多,我們來看要怎麼去設定並開啟 WOL 功能

欲喚醒主機設定

如果是 Windows 主機的話,搭配上支援的網卡及主板,到你的裝置管理員 → 於 PCIE 上的網卡開啟相關設定

Array
Array

更多可以查看類似的教學:
ASUS 官方教學
設定Windows 8網路喚醒(Wake On LAN)

如果是 Mac OS 的話,於設定 → 能源節約器中可以開啟
Array

而 Synology 的 NAS 開啟的方式更為簡單,於設定中的硬體&電源將網路喚醒功能開啟即可,如果你的機種支援多埠網路孔,可以對個別做設定
Array

但查詢了一下,Synology 網頁上並沒有特別說明如何開啟網路喚醒及相對應的 Port,測試過後發現與一般通用,也就是連接埠 9

WOL 喚醒方法

喚醒方法很多種,其實原理都一樣,你可以透過 command line 做操作,現今也有 app 支援於手機上直接遠端喚醒

IP

WOL 有兩種呼叫方式,一種是對指定裝置,一種是透過 Router 來進行廣播
如果是對指定裝置的話,你只需要針對那台裝置的 IP 進行發送 WOL 封包即可

而如果是透過 WOL broadcast 的話,則是對 subnet 的 ip (例如裝置 ip 是 192.168.1.x,那 subnet ip 則是 192.168.1.254) 進行發送封包就可以了

WOL 工具

Router 工具

現在還不錯的家用 Router 甚至也都有附上 WOL 工具,在設定好你的裝置後,可以透過這些工具來進行簡易的測試
Array

Command Line Tool

Array

又或者可以透過 Homebrew 直接安裝 WOL 工具包

並透過簡單的 wakeonlan 指令進行喚醒,或者可以加入指定的 ip,搭配 crontab 等服務來使用

Array

iOS app

而手機部分也有相關的 app,查詢了一下功能較完善介面也不會太過老舊的為以下這款:

Array
Download on App Store

並如此進行設定即可
Array

開啟 Router 防火牆相關設定

特別要注意的是,如果你在家中與裝置位於同一區網內,那喚醒方式應該沒什麼問題。但如果出門在外,就需要對防火牆開啟連接埠 9 的特別設置

Array

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料