在 Ubuntu 24.04 中开启 Wake-on-LAN

在 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。

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 地址

sudo apt update
sudo apt install wakeonlan
wakeonlan xx:xx:xx:xx:xx:xx