wol linux远程通过数据帧自动开机

 我们经常有这样的场景或需求,人在外面,需要将家里的机器或公司的机器开启,进行远程控制操作。

 有几种方式可以实现远程开机,一是通过主板的来电自启动,通过智能开关远程开机。还有一种方式就是可以
 通过一台已经启动的机器通过
 Wake On LAN
 去开启唤醒另外一台机器。

 现在介绍通过一台已经启动的
 linux
 机器通过
 Wake On LAN
 去唤醒开期另外一台机器。

 前置条件:

 操作机器与目标机器在同一局域网内

 目标机器电源和网线已插好

 目标机器网卡和主板均支持远程唤醒并在BIOS里已经设置了网络唤醒(WOL)开机。

 目前一般的机器网卡和主板都支持远程唤醒开机,需要在BIOS里设置将网络唤醒开机开启。

 开机时进入
 BIOS
 ,查看
 CMOS
 中的
 “Power Management Setup”
 ,通常里面会有
 Power On by Onborad Lan
 ,将其设置为
 “Enable”
 。

 如下图,在电源管理中开启Power On by Onborad Lan。不同的主板BIOS设置不太一样。具体根据自己机器实际情况进行设置。

 
 
 

 如何在
 Linux
 下通过
 Wake On LAN
 远程唤醒,具体操作步骤如下:

 1.在本机安装Wake On LAN。可从官方网站下载。
 
 

 CentOS
 可以用
 yum
 命令安装
 :

 yum install wol

 也可以下载wol的rpm包通过rpm安装。点击这里下载

 

 2.
 登录需要远程唤醒开机的目标机器,运行
 ethtool
 命令查看网卡是否支持
 Wake On Lan

 [root@localhost]# ethtool eth0

 看这两行

 Supports Wake-on: pumbg

 Wake-on: d

 若
 Wake-on
 为
 d
 ,表示禁用
 Wake On LAN
 ,需要启用它。

 
 

 [root@localhost]# ethtool -s eth0 wol g

 如果已经是g就说明目标机器的网卡已经支持Wake On LAN。
 
 

 3.
 查看目标机器网卡的
 MAC
 地址

 [root@localhost]# ifconfig

 
 

 比如获得的MAC地址为00:17:a4:ad:c3:a8
 

 4.
 关闭目标机器,在主机运行
 wol
 命令

 wol 00:17:a4:ad:c3:a8
 

 这时,目标机器这时就会开启了。可以通过
 ping
 命令验证机器是否已经启动了。

 如果记不住
 mac
 地址可以写个简单的
 shell
 脚本,直接执行这个脚本就可以了。

 
#!/bin/bash
wol 目标mac地址


原文地址:https://www.cnblogs.com/ruiy/p/14462516.html