网络唤醒的前提条件是必须在同一网段。
博主测试时系统版本为:centos7.7、ubuntu16.04
一、centos系统网络唤醒
1.查看目标机器的网卡是否支持远程开机
ethtool 网卡名称 | grep -i "wake"
如果 wake-on 一项值为 d,表示禁用wake on lan
值为 g,表示启用 wake on lan
2.激活启用 wake on lan
ethtool -s 网卡名称 wol g
3.获取目标机器MAC地址
在本机获取:
ifconfig 网卡名称 | grep ether | awk '{print $2}'
在其他机器上获取:
ping -c1 目标机器ip地址 &> /dev/null
arp -n 目标机器ip地址
HWaddress选项就是目标机器mac地址。
4.关闭目标机器,在另一台机器上测试
ether-wake -i 目标机器网卡名称 目标机器MAC地址
二、ubuntu系统网络唤醒
1.检查主板和电源是否支持WOL
进入BIOS的Power Management Setup,设置PME Event Wake Up(这其实是一种Wake On PCI Card模式)为 Enabled。注意,有些机器可能为Wake On Lan或Wake On PCI Card。Wake On Lan模式可以在完全关机状态下唤醒,而Wake On PCI Card模式要在深度休眠状态下唤醒。造成这样的区别主要是因为主板的设计不一样,现在的计算机一般都是Wake On PCI Card模式的。
2.检查网卡是否支持WOL
安装ethtool,并执行以下命令:
sudo apt-get install ethtool
sudo ethtool 网卡名称 |grep Wake-on
如果显示结果为下面这样,就表示网卡支持WOL:
Supports Wake-on:pumbg
Wake-on : g
3.关闭目标机器,在另一台机器上测试
准备工作:
知道远程计算机的ip地址或域名和MAC地址。
在另一台计算机上安装远程唤醒工具wakeonlan:
sudo apt-get install wakeonlan
host_address为远程计算机的域名或ip地址,mac_address为远程计算机的mac地址,mac地址是’:'间隔的形式
wakeonlan -i host_address mac_address