什么是-Wake-on-LAN

参考1 百度百科

参考2 Archwiki

简介

Wake-On-LAN 是一种电源管理功能. 如果存在网络活动, 则允许设备将操作系统从待机或休眠模式中唤醒.

Wake-On-LAN 的实现, 主要是向目标主机发送特殊格式的数据包.

也就是说, 通过让网卡处于待机状态, 当网卡接受到特定命令后, 就唤醒主机.

硬件设置

需要 motherboard (主板) 和 Network Interface Controller (网卡) 的支持.

需要在 BIOS 中 enable Wake-on-LAN 功能.

软件配置

enable 网卡上的 WoL

WoL 可能是默认关闭的.

安装 ethtool 来查看设置.

1
2
3
4
$ ethtool interface | grep Wake-on

Supports Wake-on: pumbag
Wake-on: d

Wake-on 的值决定 wake up 的活动:

  • d, disabled
  • p, PHY activity
  • u, unicast activity
  • m, multicast activity
  • b, broadcast activity
  • a, ARP activity
  • g, magic packet activity

需要设置为 g:

1
$ ethtool -s interface wol g

持续生效 Make it persistent

在 network 的链接文件中添加 WakeOnLan:

1
2
3
4
5
6
7
8
9
/etc/systemd/network/50-wired.link

[Match]
MACAddress=aa:bb:cc:dd:ee:ff

[Link]
NamePolicy=kernel database onboard slot path
MACAddressPolicy=persistent
WakeOnLan=magic

可以在 systemd.link(5) 中查看更多信息.

提供 Wake-On-Lan 服务的软件

在树霉派上安装 Wiki 上推荐的三款之一, 通过 wget 获取压缩包, 并解压:

1
2
$ wget https://udomain.dl.sourceforge.net/project/wake-on-lan/wol/0.7.1/wol-0.7.1.tar.gz
$ tar -zxvf wol-0.7.1.tar.gz

之后按照其目录下的 INSTALL 文件要求安装即可.

使用这个软件需要指定 9 端口以及 MAC 地址:

1
$ wol -p 9 MAC

参考 B 站

一个是需要进入 BIOS 开启网卡唤醒功能, 一个是需要设置路由器, 一个是使用 UDP 协议.


什么是-Wake-on-LAN
http://example.com/2022/10/05/什么是-Wake-on-LAN/
作者
Jie
发布于
2022年10月5日
许可协议