[教學][NAS] 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 位址,就會啟動喚醒或開機的程式。
講了這麼多,我們來看要怎麼去設定並開啟 WOL 功能
欲喚醒主機設定
如果是 Windows 主機的話,搭配上支援的網卡及主板,到你的裝置管理員 → 於 PCIE 上的網卡開啟相關設定
更多可以查看類似的教學:
ASUS 官方教學
設定Windows 8網路喚醒(Wake On LAN)
如果是 Mac OS 的話,於設定 → 能源節約器中可以開啟
而 Synology 的 NAS 開啟的方式更為簡單,於設定中的硬體&電源將網路喚醒功能開啟即可,如果你的機種支援多埠網路孔,可以對個別做設定
但查詢了一下,Synology 網頁上並沒有特別說明如何開啟網路喚醒及相對應的 Port,測試過後發現與一般通用,也就是連接埠 9
WOL 喚醒方法
喚醒方法很多種,其實原理都一樣,你可以透過 command line 做操作,現今也有 app 支援於手機上直接遠端喚醒
IP
WOL 有兩種呼叫方式,一種是對指定裝置,一種是透過 Router 來進行廣播
如果是對指定裝置的話,你只需要針對那台裝置的 IP 進行發送 WOL 封包即可
0 1 2 |
wakeonlan -i "目標ip" -p "目標連接埠" 00:12:34:56:78:90 (目標 Mac address) |
而如果是透過 WOL broadcast 的話,則是對 subnet 的 ip (例如裝置 ip 是 192.168.1.x,那 subnet ip 則是 192.168.1.254) 進行發送封包就可以了
0 1 2 |
wakeonlan -i "192.168.1.254" 00:12:34:56:78:90 (目標 Mac address) |
WOL 工具
Router 工具
現在還不錯的家用 Router 甚至也都有附上 WOL 工具,在設定好你的裝置後,可以透過這些工具來進行簡易的測試
Command Line Tool
又或者可以透過 Homebrew 直接安裝 WOL 工具包
0 1 2 |
brew install wakeonlan |
並透過簡單的 wakeonlan 指令進行喚醒,或者可以加入指定的 ip,搭配 crontab 等服務來使用
0 1 2 3 |
wakeonlan 00:12:34:56:78:90 (目標 Mac address) wakeonlan -i "目標ip" -p "目標連接埠" 00:12:34:56:78:90 (目標 Mac address) |
iOS app
而手機部分也有相關的 app,查詢了一下功能較完善介面也不會太過老舊的為以下這款:
開啟 Router 防火牆相關設定
特別要注意的是,如果你在家中與裝置位於同一區網內,那喚醒方式應該沒什麼問題。但如果出門在外,就需要對防火牆開啟連接埠 9 的特別設置