快轉到主要內容

遠端開機:Ubuntu如何啟用Wake-On-Lan,透過NetworkManager設定

分類   Linux系統 Linux使用技巧
標籤   Remote Desktop Ubuntu
🗓️ 民國113年 甲辰年
✍ 切換正體/簡體字
目錄

適用版本:Ubuntu 24.04以上

Wake-On-Lan(WoL)是一種遠端開機的機制,讓我們可以透過網路喚醒電腦主機。

原理是向電腦傳送一個魔法封包(magic packet),網路卡收到封包後,電腦就會自動開機,很適合遠端控制Linux電腦開關呢!

起床了,Tux!

至於這個魔法封包要由誰來傳?得是同一個網域下的另一台裝置傳送。

1. 前置條件
#

Wake-On-Lan功能需要硬體支援,大部分x86架構的電腦應該都有這個功能。不過,有些Wake-On-Lan只可以喚醒暫停(suspend)中的Linux電腦。其他則是在電腦完全關機(shutdown)狀態,也可以用Wake-On-Lan開機,這個要看個別硬體支援程度。

要遠端開機的Linux電腦必須使用有線乙太網路連接到數據機或者路由器,才能收到魔法封包。

要遠端開機的Linux電腦的電源不能斷掉。

同一個網域下必須有其他裝置開著(俗稱跳板機),用於給Linux電腦發送魔法封包。這個裝置可以是Windows或Linux電腦,或者路由器、樹莓派、手機。

2. 在UEFI啟用Wake-On-Lan
#

我的ASUS主機板是可以從關機狀態開機。

首先到UEFI介面啟用Wake On LAN。ASUS管這個功能叫做「由PCI-E裝置喚醒」

3. Ubuntu啟用Wake-On-Lan服務
#

  1. 請確認電腦有接上有線乙太網路

  2. 使用ip link指令確認網路卡裝置的MAC位址,例如我的網路卡裝置為enp2s0,MAC位址為e3:e3:1b:41:f5:fa,把這個MAC位址記下來

2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether e3:e3:1b:41:f5:fa brd ff:ff:ff:ff:ff:ff
  1. 接著,要啟用Wake-On-Lan功能,網路上的資料有透過Systemd、ethtool、crontab等方式來開啟。我這邊使用NetworkManager啟用,Wake-On-Lan的設定重開機之後依然有效。

  2. 列出目前的連線

nmcli con show
  1. 查看乙太網路連線的Wake-On-Lan狀態
nmcli c show "eth0" | grep 802-3-ethernet.wake-on-lan
  1. 應該是沒有啟用,顯示為default
802-3-ethernet.wake-on-lan:             default
802-3-ethernet.wake-on-lan-password:    --
  1. 啟用Wake-On-Lan
nmcli c modify "eth0" 802-3-ethernet.wake-on-lan magic

nmcli c modify "eth0" 802-3-ethernet.auto-negotiate yes
  1. 將Ubuntu重開機
sudo reboot
  1. 再次執行指令,查看Wake-On-Lan是否維持啟用狀態。
nmcli c show "eth0" | grep 802-3-ethernet.wake-on-lan
  1. 應該會顯示magic
802-3-ethernet.wake-on-lan:             magic
802-3-ethernet.wake-on-lan-password:    --

4. 測試Wake-On-Lan能否開機
#

  1. 將Ubuntu關機
sudo shutdown now
  1. 在同一個網域下,開啟另一台電腦(跳板機)。

如果是Windows電腦,安裝 basildane/WakeOnLAN操作。

Linux的話,安裝wol工具:

sudo apt install wakeonlan
  1. 指定MAC位址,往Ubuntu電腦的MAC位址發送魔法封包
wakeonlan "e3:e3:1b:41:f5:fa"
  1. Ubuntu應該就會自動開機了!

  2. 如果你需要從外部網路連線到「跳板機」來給Linux遠端開機的話,可使用 內網穿透軟體

參考資料
#

相關文章

Linux如何解除安裝軟體並刪除乾淨
分類   Linux系統 Linux使用技巧
標籤   Ubuntu Flatpak Snap AppImage
Ubuntu LTS如何進行大版本系統升級
分類   Linux系統 Linux使用技巧
標籤   Ubuntu
Ubuntu 22.04升級Ubuntu 24.04記錄,改APT sources.list強制升級
分類   Linux系統 Linux使用技巧
標籤   Ubuntu

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要Github帳號才能留言。支援markdown語法,若要上傳圖片請貼Imgur或Postimages。您的留言會在Github Discussions向所有人公開。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。為防止垃圾內容,有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請善用圖床網站。