最近我喜歡用 iPad 搭配 SSH Client APP(例如 Termius、Blink Shell)在區域網路內遠端操作 Linux 伺服器或筆電。但最讓人頭痛的,就是當遠端 Linux 筆電睡著或關機時,如何透過無線 Wi-Fi 把它叫醒?
一般我們知道實體網路線可以用傳統的 Wake-on-LAN (WoL),但在無線網路 (Wake-on-Wireless-LAN, WoWLAN) 的世界裡,Ubuntu底層的電源管理,常常在開機或重啟網路時,強行將我們設定好的無線喚醒功能蓋過去(Override)。
本篇文章將 Step by Step 帶你徹底收服 Linux 核心,利用 systemd 時間差突襲,實現永久生效的「無線區網喚醒」!
🛠️ 第一階段:Linux 端的實體硬體大點名
在動手之前,我們必須拿到這台 Linux 筆電最精準的無線網卡「實體身分證代號」。
Step 1:查詢無線網卡名稱與實體代號
請打開 Linux 終端機,輸入以下標準指令:
或者是查詢特定網卡的詳細資訊(以本機常見的 Intel 網卡為例):
💡 重點觀察輸出結果:
在噴出來的 Log 資訊中,請死死抄下這兩個關鍵密碼:
wiphy 0:這代表你的實體網卡晶片代號叫做phy0。addr xx:xx:xx:xx:xx:xx:這串是你的 Wi-Fi MAC 位址(請先記下來,待會 iPad 發射封包需要它)。
🛠️ 第二階段:生死審判!檢查網卡是否支援無線喚醒
並不是每張網卡都能隔空接收神秘封包,我們必須對 phy0 進行硬體功能檢測。
Step 2:檢視目前 WoWLAN 的狀態
請輸入以下指令:
- 情況 A :如果顯示
WoWLAN is disabled.,恭喜你!這張網卡硬體完全支援無線喚醒,只是目前沒開門。 - 情況 B :如果噴出
Operation not supported,代表該驅動程式底層被閹割了,只能乖乖改插實體網路線。
🛠️ 第三階段:為什麼設定開機就失效?
一般技術文章會教你,直接下一行臨時啟用指令就收工:
但是!只要重開機或網路斷開重連,這行設定就會立刻灰飛煙滅,重回預設的 disabled!
🕵️ 幕後黑手是誰?
因為現代 Linux 系統中,有一個權限極高的上層大管家叫 NetworkManager。在系統開機或網路 Up 的瞬間,NetworkManager 為了極致省電,會非常粗暴地覆蓋(Override)所有底層硬體設定,把我們辛辛苦苦開啟的 magic-packet 再次無情關閉。
🛠️ 第四階段:終極解法 —— systemd 「時間差突襲法」
既然用常規的系統事件(如 udev 或 NetworkManager dispatcher)會跟開機程序產生順序競爭(Race Condition),那我們就改用最暴力、但也最絕對有效的終極大絕招:建立一個專屬開機服務,並讓它「延時執行」。
我們讓這個服務在系統完全開機、網路建立好之後,在背景默默倒數 5 秒。等 NetworkManager 載入完它的省電設定後,我們再做覆蓋的動作!
Step 3:建立專屬的 systemd 服務檔案
在系統服務目錄下建立一個名為 wowlan.service 的檔案:
Step 4:完整貼入以下終極外掛設定
將以下這段服務設定完整複製並貼進去:
Step 5:註冊並永久啟用該開機服務
依序輸入以下三行指令,重新點名並實施開機自動化:
🏁 第五階段:驗收與 iPad 實戰
Step 6:重開機最終驗收
請放心地重開整台 Linux 筆電:
重新開機並用 SSH 連進去後,輸入指令:
當你看到畫面噴出以下這兩行輸出時:
恭喜你!這條無線喚醒防線已經永久固化在你的系統裡了!
📱 iPad 端實戰:一鍵喚醒遠端 Linux
接下來輪到 iPad :
- 挑選 App:下載 App Store 的 Termius(推薦,自帶 WoL)或 iNet WOL。
- 踩坑注意 (iOS 隱形大坑):第一次打開 App 時,系統跳出 "是否允許此 App 尋找並連線到區域網路上的裝置?",務必點選「允許」!如果不小心按到拒絕,請至 iPad「設定」➡️ 找到該 App ➡️ 手動將「區域網路」權限開啟。
- 填入參數:
- MAC 位址:填入 Step 1 查到的 xx
:xx:xx:xx:xx:xx。 - IP 位址:填入這台 Linux 的內網區域 IP(例如
192.168.1.118)。
- MAC 位址:填入 Step 1 查到的 xx
- 發射!:將 Linux 筆電蓋上螢幕進入休眠(Suspend),在 iPad App 上點擊 Wake。
你會驚奇地發現,原本死沉沉的 Linux 筆電鍵盤燈瞬間亮起、螢幕重開,高科技的隔空無線喚醒正式大功告成!
💡 網管小嘮叨:
- Wi-Fi 分享器的「AP 隔離 (AP Isolation)」務必關閉:因為 iPad 與 Linux 皆走無線,若路由器開啟 AP 隔離,廣播封包會被沒收。
- BIOS 設定:部分筆電主機板(如 ThinkPad)在 BIOS 的 Power / Network 頁面中,有獨立的
Wake on WLAN選項,記得同步調整為Enabled喔!
No comments:
Post a Comment