Linux系统通过Wake On/From LAN实现网络远程唤醒开机

目录

场景描述

实现过程

实现条件

BIOS里设置网络唤醒过程

网卡是否支持魔术包唤醒查询

设置目标设备为魔术包唤醒模式 

操作设备发出魔术包

目标设备重启完,网卡的wake-on模式变化解决方法


场景描述

远程办公,远程调试,需要唤醒公司或异地终端,进而远程控制操作

实现过程

远程控制一台已启动的Linux终端发出UDP广播(魔术包Magic Packet)唤醒同一局域网中的另一台关机的终端。

备注:魔术包内容为被唤醒终端网卡的Mac地址,可以使用ifconfig命令获取。数据包最简单的构成是6字节的255(FF FF FF FF FF FF FF),紧接着为48位MAC地址,重复16次,数据包共计102字节。通常数据包含在 UDP协议中。

实现条件

  • 两台设备在同一局域网中,且网线插好,操作设备可被操控,目标设备关机
  • 目标设备主板BIOS系统里已经设置了网络唤醒功能
  • 目标设备的网卡支持并开启了魔术包唤醒模式

BIOS里设置网络唤醒过程

开机,F7键--Enter Setup选项进入BIOS系统(考虑不同设备进入BIOS方式)

在Power Management 或Chipset或Advanced中找到Wake on/from LAN将其设置为Enabled(考虑不同设备的BIOS设置不同)

网卡是否支持魔术包唤醒查询

ifconfig找到对应网卡enp1s0

Linux系统通过Wake On/From LAN实现网络远程唤醒开机_第1张图片

 ethtool enp1s0查询Supports Wake-on及目前所处的模式Wake-on

Linux系统通过Wake On/From LAN实现网络远程唤醒开机_第2张图片

 wake-on各字符的含义:

  • d -- 禁用
  • p -- 物理活动唤醒
  • u -- 单播消息唤醒
  • m -- 多播(组播)消息唤醒
  • b -- 广播消息唤醒
  • a -- ARP 唤醒
  • g -- 特定数据包magic packet唤醒
  • s -- 设有密码的特定数据包magic packet唤醒

设置目标设备为魔术包唤醒模式 

ethtool -s enp1s0 wol g设置模式为g

Linux系统通过Wake On/From LAN实现网络远程唤醒开机_第3张图片

操作设备发出魔术包

在操作终端安装wol,wol+目标设备网卡Mac地址即可

目标设备重启完,网卡的wake-on模式变化解决方法

每次重启完,网卡的Wake-on属性又会恢复到原默认模式,所以每次开机需要再开启,两种方法:

  • 开机脚本里加命令,例:/sbin/ethtool -s enp1s0 wol g
  • 修改网卡属性,例:ETHTOOL_OPTS=”wol g”

你可能感兴趣的:(Linux平台相关功能开发,linux,wol,网络)