Linux Wake On LAN

1 背景知识

我们经常有这样的场景或需求,人在外面,需要将家里的机器或公司的机器开启,进行远程控制操作。
有几种方式可以实现远程开机,一是通过主板的来电自启动,通过智能开关远程开机。还有一种方式就是可以通过一台已经启动的机器通过Wake On LAN去开启唤醒另外一台机器。
现在介绍通过一台已经启动的linux机器通过Wake On LAN去唤醒开期另外一台机器。

2 安装 wol 软件

yum install wol

也可以下载wol的rpm包通过rpm安装。

[root@localhost]# ethtool eth0

看这两行

Supports Wake-on: pumbg
Wake-on: d
[root@localhost]# ethtool -s eth0 wol g

网卡会自动恢复禁用状态:
解决方案:

ETHTOOL_OPTS="wol g"

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

[root@localhost]# ifconfig

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

wol   00:e0:8b:68:05:40

这时,目标机器这时就会开启了。可以通过ping命令验证机器是否已经启动了。
如果记不住mac地址可以写个简单的shell脚本,直接执行这个脚本就可以了。

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