我们经常有这样的场景或需求,人在外面,需要将家里的机器或公司的机器开启,进行远程控制操作。
有几种方式可以实现远程开机,一是通过主板的来电自启动,通过智能开关远程开机。还有一种方式就是可以
通过一台已经启动的机器通过
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地址