网络唤醒功能介绍及使用

统信UOS 统信UOS 1845 人阅读 | 1 人回复 | 2021-09-08

一、网络唤醒功能介绍1. WOL网络唤醒
网络唤醒(Wake-on-LAN,简称WOL)是一种计算机局域网唤醒技术,使局域网内处于关机或休眠状态的计算机,将状态转换成引导(Boot Loader)或运行状态。
网络唤醒在一般的局域网环境里使用有限广播地址(255.255.255.255)即可,由于路由器都不转发目的地址为有限广播地址的数据报,因此在复杂网络情况下通常使用子网定向广播地址。在局域网外唤醒局域网内特定计算机,可以使用路由器的 DDNS(动态域名转换) 与端口转发。
2. 网络唤醒过程
计算机处在关机(或休眠)状态时,机内的网卡及主板部分仍保有微弱的供电,此微弱供电能让网卡保有最低的运作能力,使网卡能聆听来自计算机外部的网上广播信息,并对信息内容进行侦测与解读,一旦发现网上广播的内容中有特定的信息内容,此种特定内容称为“魔法数据包”(Magic Packet),就会对该数据包的内容进行研判,网卡一旦解读研判出所指的地址是自身所处的计算机时,网卡就会通知机内的主板、电源供应器,开始进行引导(或唤醒)的程序。

3. 魔法数据包
魔法数据包(Magic Packet)是一个广播帧,包含目标计算机的MAC地址。由于 MAC 地址的唯一性,使数据包可以在网络中被唯一的识别。魔法数据包发送通常使用无连接的传输协议,如 UDP ,IPX,发送端口为 7 或 9 ,这只是通常做法,没有限制。
WOL 技术被提出了将近20年,绝大多数的现代网卡都支持在超低功耗下监听特定的报文。如果设备网卡接收到一个与自己 MAC 地址相同的魔法数据包,则网卡会向计算机的电源或主板发出信号以唤醒计算机。大部分的魔法数据包在数据链路层(OSI模型第2层)上发送,当发送时,使用广播地址广播到给定的网络上,不使用IP地址(OSI模型第3层)。当然这是绝大部分情况,魔法数据包也可以使用特定的 IP 地址进行发送。


魔法数据包最简单的构成是6字节的255(FF FF FF FF FF FF FF),紧接着为目标计算机的48位MAC地址,重复16次,数据包共计102字节。有时数据包内还会紧接着4-6字节的密码信息。这个帧片段可以包含在任何协议中,最常见的是包含在 UDP 中。

例如MAC地址为:10:06:0f:00:01:0A的目标计算机,换数据包格式为



二、服务器网络唤醒功能配置
1、确定主板是否支持网络唤醒功能呢
2、检查网卡是否支持网络唤醒功能
(1). 安装ethool工具
sudo apt install ethtool
(2). 检查网卡信息
sudo ethtool eth1 | grep Wake-on

显示上图Wake-on: g的表示该网卡支持网络唤醒功能
Wake-on各参数代表的含义:
d --禁用
p --物理活动唤醒
u --单播消息唤醒
m --多播(组播)消息唤醒
b --广播消息唤醒
a --ARP唤醒
g --特定数据包magic packet唤醒
s --设有密码的特定数据包magic packet唤醒
(3). 启用网卡网络唤醒功能
sudo ethtool eth1 | grep Wake-on

如果Wake-on 为d,网卡的网路唤醒功能为禁用状态,需要开启才可以使用,可以执行以下命令(注:eth0改为自己实际的网卡名称):
sudo ethtool -s eth0 wol g
配置开机自启:
如果每次重启系统后又变为禁用状态,可以将配置放到开机启动项中。
两种方法:
1). 加入开机启动项,将以下代码添加至/etc/rc.local
/sbin/ethtool -s eth0 wol g # 注: eth0 改为自己的网卡名称
2). 修改网卡属性。编辑sudo vim /etc/network/interfaces.d/eth0
三、唤醒工具安装及使用
1. wakeonlan工具安装
sudo apt install wakeonlan
2. wakeonlan工具命令的一些参数及含义:
-i # 设置目标IP地址,默认为255.255.255.255(广播地址)
-p # 设置端口,默认为9
-f # 指定需要唤醒的目标机器mac地址输入文件,一般在批量唤醒中使用
示例1:指定ip和端口

示例2:指定目标mac文件



2. 使用工具远程唤醒服务器
wakeonlan xx:xx:xx:xx:xx:xx # 后面的为需唤醒机器的MAC地址
3. 工具使用一些报错问题
network is unreachble

上图中的报错可能是网络连接不正常,此时可以检查网络状态,如果网络未连接或者网络一直在连接中,
无法获取IP地址也会出现上图问题,执行远程唤醒需要保证执行的机器网络状态是正常连接状态。
4. 执行唤醒操作,无报错也不生效
网络唤醒需要保证操作的机器和被操作的机器在同一个局域网中(如果不在一个局域网中需要在路由上做apr绑定和动态域名绑定),
如果跨网段可以执行命令加上被操作的机器IP地址或者在路由器上做apr绑定。


5. 唤醒故障排除
(1)确认系统电源关闭时链路的指示灯保持亮起状态。如果没有链路指示灯,则NIC无法接收唤醒系统的魔术包。
(2)确保在BIOS中的电源管理设置下启用网络唤醒功能。
(3)确保以太网驱动程序属性中正确配置带能源管理设置。
(4)确认魔术包中使用的MAC地址与客户端系统上用于以太网1的MAC地址相匹配。
(5)如果你在魔术包中指定了IP地址,则网络交换机可能无法将其正确广播到整个网络。你可能需要更改地址,以将该包广播到整个网络。例如,
如果客户端地址为192.168.1.12,则该包中使用的广播地址将是192.168.1.255。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

回答|共 1 个

TecSupport

发表于 2021-9-14 17:55:22 | 显示全部楼层

欢迎分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则