在 Ubuntu 24.04 中开启 Wake-on-LAN
要在 Ubuntu 24.04 系统上启用 Wake-on-LAN (WOL) 功能,需要执行以下步骤。本示例假设有线网络接口为 eth0 ,请根据实际接口名称进行替换。
1. 进去主板 BIOS 开启 WOL 功能,不同主板有所不同需要查看用户手册
2. 进入系统执行以下命令检查 WOL 是否支持
sudo ethtool eth0
在输出中查找 Supports Wake-on 和 Wake-on 的字段。如果 Supports Wake-on: pumbg,说明网络接口支持 WOL。
- 状态是 wake-on: g 表示已开启 WOL,不需要额外配置。
- 状态是 wake-on: d 表示已关闭 WOL,需要额外配置开启。
3. 在系统中开启 WOL 支持
在许多其他教程中会建议使用 systemd 服务,在启动时启用 WOL
/etc/systemd/system/wol.service
[Unit]
Description=Configure Wake-on-LAN
[Service]
Type=oneshot
ExecStart=/usr/sbin/ethtool -s eth0 wol g
[Install]
WantedBy=multi-user.target
但是 Ubuntu 24.04 是 NetworkManager 管理 WOL,使用 systemd 服务的配置会被 NetworkManager 覆盖不会有效果。
使用 NetworkManager
配置 WOL
a. 获取网络接口的连接名称:
nmcli connection show
你会看到类似以下输出:
NAME UUID TYPE DEVICE
Wired connection 1 abcd1234-abcd-1234-abcd-1234abcd1234 ethernet eth0
找到你正在使用的网络连接名称,例如 Wired connection 1
。
b. 设置 WOL 为 magic:
nmcli connection modify "Wired connection 1" 802-3-ethernet.wake-on-lan magic
c. 重启网络连接以应用更改:
nmcli connection down "Wired connection 1"
nmcli connection up "Wired connection 1"
验证
重启系统后,使用 ethtool
检查你的网络接口的 WOL 设置:
sudo ethtool eth0
输出中的 Wake-on: g
应该表明 WOL 已经成功启用。
使用 wakeonlan
在启用 WOL 的系统中执行以下命令,记住输出中的 MAC 地址。
ip link show
在同局域网中的的另一台机器上触发 wakeonlan 开机,xx:xx:xx:xx:xx:xx 替换为真实的 MAC 地址
- 安装 wakeonlan
sudo apt update
sudo apt install wakeonlan
- 唤醒 Ubuntu 24.04
wakeonlan xx:xx:xx:xx:xx:xx