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


有几种方式可以实现远程开机,一是通过主板的来电自启动,通过智能开关远程开机。还有一种方式就是可以 通过一台已经启动的机器通过 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设置不太一样。具体根据自己机器实际情况进行设置。






bios wake on lan到底有什么用处 bios中wake on lan_wol



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


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


CentOS 可以用 yum 命令安装 :


yum install wol


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




bios wake on lan到底有什么用处 bios中wake on lan_linux_02

 

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


[root@localhost]# ethtool eth0


看这两行


Supports Wake-on: pumbg


Wake-on: d


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


bios wake on lan到底有什么用处 bios中wake on lan_Power_03




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


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


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


[root@localhost]# ifconfig


bios wake on lan到底有什么用处 bios中wake on lan_远程控制_04


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




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


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


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


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



#!/bin/bash


wol 目标mac地址

 


注意:掉电重新来电后,通过wol远程唤醒开机有可能不起作用。