1. 主板上开启
这里使用的是微星主板
- 高级–整合周边设备–网卡ROM启动,设置为允许
- 高级–电源管理设置–Erp ,设置为禁止
- 高级–唤醒事件设置–PCIE设备唤醒,设置为允许
2 检查主机板块和网卡是否支持Wol
检查主板是否支持
sudo apt install ethtool -y (-y 参数是如果出现询问 默认 y)
sudo ethtool eth40ss (eth40ss 指你的网卡可以用 ip a 或者ifconfig 查看)
如果出现一下信息, 则通过
Supports Wake-on: pumbg
Wake-on: g
如果没有则需要开启
sudo ethtool –change enp4s0 wol g
3. ubuntu 20.04设置
which ethtool # 查看命令源 我的是/usr/sbin/ethtool
- 设置开机启动启动 wol 服务,新建服务
sudo vim /etc/systemd/system/wol.service
编辑内容如下
[Unit]
Description=Configure Wake On Lan
[Service]
Type=oneshot
ExecStart=/sbin/ethtool --change enp43s0 wol g
[Install]
WantedBy=basic.target
启用服务
#To enable it you can do this:
sudo systemctl daemon-reload
sudo systemctl enable wol.service
sudo systemctl start wol.service
#查看设置状态
systemctl status wol
2.使用netplan 永久自动开发方法
需要添加mac 地址
network:
version: 2
renderer: networkd
ethernets:
enp2s0:
match:
macaddress: 50:e5:49:b3:fc:97
dhcp4: true
wakeonlan: true
4. 关闭服务器, 本地使用 命令 启动服务器
唤起远程服务端的客户端上需要安装
Command-line tools
unbuntu 可以安装
sudo apt install wakeonlan
wakeonlan mac地址 #唤醒电脑
mac python脚本 wol.py
#!/usr/bin/env python
import socket
import sys
if len(sys.argv) < 3:
print "Usage: wakeonlan.py <ADR> <MAC> (example: 192.168.1.255 00:11:22:33:44:55)"
sys.exit(1)
mac = sys.argv[2]
data = ''.join(['FF' * 6, mac.replace(':', '') * 16])
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
sock.sendto(data.decode("hex"), (sys.argv[1], 9))
python wol.py 192.168.1.255 00:11:22:33:44:55
在路由上安装
opkg install etherwake
如果你的路由是主路由,那么要设置广播的网关段,而小米的网络段是192.168.31.255:
/usr/bin/etherwake -D -i 'lan' "D8:BB:C1:4F:E5:12" 2>&1
如果你的路由是旁路由
wakeonlan -i mac地址
这样通过zerotier远程连接路由器SSH,然后通过命令就可以开启局域网中的指定电脑。