在Linux下用Wake On LAN实现远程开机

在Linux下用Wake On LAN实现远程开机

请先确认满足以下环境要求:

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

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

目标机器网卡和主板均支持远程唤醒

具体操作步骤:

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

如果使用Fedora,则可以用yum命令安装:

yum install wol

具体下载目录在 /pub/2011/08/09/Wake On LAN/

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:01:0A:02:0B:03

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

wol 00:01:0A:02:0B:03

一般来说,目标机器这时就会开启了。如果没用,请进入下一步检查主板是否支持Wake On LAN

5. 检查主板是否支持Wake On LAN

开机时进入BIOS,查看CMOS中的“Power Management Setup”,通常里面会有“Wake On LAN”,将其设置为“Enable”。若没有Wake On LAN,可以再看看有没有“Wake On PCI Card”。这里需要留意PCI的选项可能有两个,确保每次只将其中之一设置为Enable,不然可能会造成机器循环重启。

远程开机还是很给力的。我给隔壁主机设置了开机自动打开dhcp和ssh服务,wol唤醒它之后用ssh登录,就可以操作或远程关机,实现了对其控制的目的。