我是基於ChatGPT-turbo-3.5實現的AI助手,在此網站上負責整理和概括文章
這篇文章是以繁體中文寫成的。文章主要介紹了一種技術叫做 Wake On LAN(網路喚醒),能夠透過網路封包遠端開啟電腦。文章詳細說明了設定 Wake On LAN 的步驟,包括設定網路卡、路由器和 BIOS。最後還提供了一個 Python 小程式讓使用者可以方便地進行測試。文章也提到了一些常見問題和解決方法,以及一些使用建議。整篇文章除了介紹技術原理,還提供了操作步驟和注意事項,非常實用。
當你不在電腦前卻需要存取裡面的資料時,你會怎樣做?
很多朋友都會回答博主使用遠端連線解決,因為這是一個非常便捷的選擇
然而,試想一下,假如電腦沒有開機呢?又該怎樣做? (真的… 每次打開遠端桌面連接電腦時,卻發現電腦老是關機了 QAQ…)
這時候,Wake On LAN 便派上用場了!
所以今天就要來教大家如何設定 Wake On LAN(網路喚醒),讓您只要透過手機就能遠端開啟電腦!
# 什麼是 Wake On LAN?
Wake On LAN(簡稱 WOL)是一項允許您透過網路封包遠端開啟電腦的技術。簡單而言,就是發送一個特殊的「魔術封包」(Magic Packet)到目標電腦,讓其從關機狀態實時自動開機。
要讓 WOL 能夠正常運作,需要設定以下三個部分:
網路卡 (Network Interface Card)
路由器 (Router)
BIOS
讓我們一步一步來看該怎麼設定。
# Step 1:設定網路卡 (NIC)
首先要確認您的網路卡支援 WOL 功能,並進行正確設定。
無線網路卡並不支援網絡喚醒 (WOL) 功能
以 Windows 為例:
首先於鍵盤按下 Windows鍵 + X ,並選擇「裝置管理員」(Device Manager)
展開「網路介面卡」(Network adapters)
找到您使用的網路卡,按右鍵選擇「內容」(Properties)。小弟這邊使用的是 "Intel (R) Ethernet Controller I226-V"。
接着應該會看到以下畫面:
移至「電源管理」(Power Management),啟用「允許電腦關閉這個裝置以節省電源」(Allow the computer to turn off this device to save power) 和「允許這個裝置喚醒電腦」(Allow this device to wake the computer),完成!
如果找不到這些選項,可能是您的網路卡不支援 WOL 功能喔!建議更換支援的網卡~
進階設定 (Optional)
可移至「進階」(Advanced) 找到以下選項並啟用 😃
Wake on Magic Packet
Wake on Pattern Match
# Step 2:設定路由器
要讓外網也能喚醒電腦,路由器設定是關鍵!
不同品牌的路由器的設定方式有所參差,但基本上其概念也大同小異~以下小弟以 TP-Link 路由器作示例:
開啟瀏覽器,輸入 192.168.0.1 / 192.168.1.1 或您的預設閘道進入管理介面因為小弟已經更改預設閘道為 192.168.217.100,所以這邊輸入 192.168.217.100。
輸入您的管理員密碼
建議更改預設的路由器登入密碼,防止被他人入侵。
登入後會看到以下介面
進入 Advanced → Network → DHCP Server,在下面的 Address Reservation 按 + Add
輸入目標裝置的 IPv4 和 MAC,然後按 Save 保存
移至 Security → IP & MAC Binding 並啟用,於下方 Binding List 按 + Add
輸入目標裝置的 MAC 和 IPv4,然後按 Save 保存
移至 NAT Forwarding → Port Forwarding , 按 + Add
設定連接埠轉發:
協定:All
外部埠:您要使用的埠
內部埠:您要使用的埠
內部 IP:您要喚醒的電腦 IP
完成後按 Save 保存
# Step 3:主機板 BIOS 設定
這是最後但也是不可或缺的一步!下面小弟以 MSI 主機板為例:
進入 BIOS 的辦法有很多,以下是其中一種:
開機時瘋狂按 Delete / F2 / F12 鍵進入 BIOS
然而小弟啟用了快速啟動 (MSI Fast Boot),跳過了鍵盤偵測的程序,故需要從 Windows 的復原介面進入
於復原 / 恢復介面中,選擇疑難排解 (Troubleshooting) → 進階選項 (Advanced options)
選擇 UEFI 韌體設定 (UEFI Firmware Settings) → 然後按重新啟動 (Restart)
進入 BIOS 後,進行如下設定:
於主選單中,移至 SETTINGS → Advanced
選擇 Wake Up Event Setup
在 Resume By PCI-E/Networking Device 中,將設定更改為 Enable。
大功告成!請按 X 儲存設定並重新開機
同樣地,不同品牌的主機板的設定方式有所參差,但基本上都能在進階選項中找到 WOL 設定。
# 實際測試
設定完成後,建議先在區網內測試:
關閉目標電腦
使用手機下載 WOL App(Android 推薦 Wake On LAN, iOS 推薦 Wolow - Wake on LAN)
輸入電腦的 MAC 和 IPv4 廣播位址
什麼是廣播位址?
廣播位址 (Broadcast Address) 是專門用來同時傳送到網路中所有工作站的一個位址。在使用 TCP/IP 協定的網路中,主機識別段 host ID 為全 1 的 IP 位址為廣播位址… (背後原理由於較複雜,在此並不詳述)
一般而言,廣播位址通常為路由器網段中的最後一個 IP 位置
例如: 若網段為 192.168.217.0 ~ 192.168.217.255,廣播位址為 192.168.217.255
發送喚醒訊號
如果電腦能成功開機,就代表設定成功了!
附送一個 Python 小程式供各位方便食用。祝用餐愉快 😄
Wake-On-Lan-Scriptimport socketimport structclass Computer: def __init__(self, mac_address, hostname) -> None: self.mac_address = mac_address self.hostname = hostname def wake(self, port=9): # Create a socket for sending the magic packet sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) # Bind the socket to a local address and port sock.bind(('', 0)) # Construct the magic packet mac_bytes_list = self.mac_address.split(':') mac_bytes = struct.pack('BBBBBB', int(mac_bytes_list[0],16), int(mac_bytes_list[1],16), int(mac_bytes_list[2],16), int(mac_bytes_list[3],16), int(mac_bytes_list[4],16), int(mac_bytes_list[5],16)) magic_packet = b'\xff' * 6 + mac_bytes * 16 # Send the magic packet to the IP address and port sock.sendto(magic_packet, (self.hostname, port)) sock.close() return食用方法:
Wake-On-Lan-Scriptfrom
Q: 為什麼設定都正確但還是無法喚醒?
A: 最常見的原因是:
網路線沒接好
電源供應器沒有支援
防火牆 / 殺毒軟件擋住了喚醒封包
快速啟動功能已啟用。移至「控制台」 → 「電源管理」 → 「選擇按下電源按鈕時的行為」, 關閉「快速啟動」。
Q: 筆電可以用 WOL 嗎?
A: 大部份筆電以使用無線網絡為主。新款筆電甚至不提供網絡線插口,故並不支援 LAN 網絡喚醒。
少部份舊款機型可以,但需要確保 BIOS 內有支援,其次需要特別注意電源管理設定,且最好使用原廠電源適配器。
# 總結
WOL 的功能設定可謂繁複,但設定好之後真的非常方便!再也不用擔心忘了開電腦而無法遠端工作了⋯⋯
不過要提醒大家,使用 WOL 時還是要注意資安問題,建議:
定期更新韌體
更改預設密碼
必要時才開啟 WOL 功能
您也打算設定 WOL 嗎?歡迎在下方留言分享您的使用經驗!
如果本文對您有幫助,歡迎分享給更多朋友!
教學Computer Science網路設定遠端控制WOL