firebat N100 mini主机设置远程网络唤醒(wol)

WOL

WoL(Wake-on-LAN)是一种允许通过网络远程打开计算机的协议。wolcmd 是一个常用于发送“魔法包”(Magic Packet)来唤醒计算机的命令行工具。

BIOS设置

在BIOS中找到与网络唤醒相关的设置,这可能在“Power Management”、“Advanced”或“Integrated Peripherals”等菜单下。常见的选项有“Wake on LAN”、“Power on by PCI-E/PCI”、“Power on by Onboard LAN”等。我这块主板的设置在Boot->network stack

启用网络唤醒:将找到的网络唤醒选项设置为“Enabled”。

如果BIOS不支持,那别玩儿了。

系统设置

安装ethtool

1
sudo apt install ethtool

获取安装位置,比如 /usr/sbin/ethtool

1
which ethtool

获取网卡名称

1
ip a

列出所有网卡,找到需要用作唤醒网口的网卡名称,比如我这里的 enp3s0
image

注册系统服务

1
sudo vi /etc/systemd/system/wol.service
1
2
3
4
5
6
7
8
9
[Unit]
Description=Configure Wake On LAN

[Service]
Type=oneshot
ExecStart=/usr/sbin/ethtool -s enp3s0 wol g

[Install]
WantedBy=basic.target
1
2
3
4
sudo systemctl daemon-reload
sudo systemctl start wol.service
sudo systemctl enable wol.service
systemctl status wol

获取MAC地址

1
ip link show enp3s0

客户端网络唤醒

windows

eg.Windows下,安装wolcmd(https://www.depicus.com/downloads/wolcmd.zip)

唤醒命令格式

1
wolcmd MAC IP/Domain subnetmask
1
wolcmd 68:1d:xx:xx:55:9a 192.168.31.31 255.255.255.0

唤醒速度特别快,我键盘回车键按下还没弹起来,机器电源指示灯就已经亮了
image

linux

1
2
sudo apt-get install wakeonlan
wakeonlan -i 192.168.31.31 68:1d:xx:xx:55:9a

注意事项

测试发现公网通过域名方式没法唤醒,理论上应该是可行的,但实际这个魔法包传输过程中很有可能受到防火墙或其他安全策略的阻碍

此外,关机方式不同也会有区别,我尝试使用shutdown now,halt,poweroff来关机,然后分别尝试唤醒,发现通过halt方式关机后不支持唤醒,虽然这个方式反而是留下电源指示灯通电的。


firebat N100 mini主机设置远程网络唤醒(wol)
https://xinhaojin.github.io/2024/10/01/firebat N100 mini主机设置远程网络唤醒(wol)/
作者
xinhaojin
发布于
2024年10月1日
许可协议