1. 程式人生 > >wake on lan定時開機部署

wake on lan定時開機部署

在Linux下通過Wake On LAN實現網路喚醒遠端開機

我們經常有這樣的場景或需求,人在外面,需要將家裡的機器或公司的機器開啟,進行遠端控制操作。

有幾種方式可以實現遠端開機,一是通過主機板的來電自啟動,通過智慧開關遠端開機。還有一種方式就是可以通過一臺已經啟動的機器通過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

[[email protected]]# ethtool eth0

看這兩行

Supports Wake-on: pumbg

Wake-on: d

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

[[email protected]]# ethtool -s eth0 wol g

如果已經是g就不用管了,說明目標機器的網絡卡已經支援Wake On LAN.

3. 檢視目標機器網絡卡的MAC地址

[[email protected]]# ifconfig

比如獲得的MAC地址為 00:01:0A:02:0B:03

4. 關閉目標機器,在主機執行wol命令

wol 00:17:a4:cd:c3:c8

這時,目標機器這時就會開啟了。可以通過ping命令驗證機器是否已經啟動了。

如果記不住mac地址可以寫個簡單的shell指令碼,直接執行這個指令碼就可以了。

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

注意:掉電重新來電後,通過wol遠端喚醒開機有可能不起作用。