Wake On LanでPCをリモート起動

お久しぶりです。ようやく戻ってきました。

このブログの部署移動して色々とありましたが、最近ようやく落ち着いてきたので、再開しようと思います。

落ち着いてきたとはいっても、平日はあまり時間が取れないので、更新頻度は低めの予定です。ネタがたくさんあれば、休みの日に書き溜めも考えていますが、私のやる気的に厳しいので、気が向いたときに更新は行います。

加えて、このブログの方向性なのですが、ガジェット系中心にやっていきます。ガジェット系以外の記事は(心療内科行ったやアフェリエイトで稼ぎたい系)順次削除していく予定です。

一応noteのほうで、大学生のころに細々と書いていた日記系の書き物があるので、それの移転に合わせて移行できそうなものは移行します。

 

 

方向性修正の話が長くなりましたが、ここから今回のブログの本題です。

 

まずみなさん、クラウド環境が熱い今、DVIなどのリモートデスクトップなど(もちろん普通にPCからPCの地モートデスクトップも)騒がれていますが、やはり電源が入っていないと使い物になりません。

 

今回は、その電源も遠隔操作で入れてしまおうというもので、Wake On Lanといいます。

 

日常生活ではあまり使われないかもしれませんが、会社では意外と使われるかもしれません。例えば、普段使わない検証機。こいつは別のフロアや、そもそもビルなどに設置してあることが多々あります。ふとしたきっかけで、その検証機を使いたいと思った時に、わざわざ電源を入れに別のフロアやビルに行きますか? 行きたくないですよね。

Wake On Lanを知っているだけで、別のフロアやビルにいる人に連絡して電源を入れてもらう、もしくは自分で行く(別のフロア程度なら行けるかもしれませんが...)と言った面倒をかけることなく遠隔でPCの電源を入れることができるのです。

 

それでは早速やってみたいところですが、その前に私が試した環境からのご説明です。

 

Wake On Lan環境

リモート先(電源を入れるマシン)

・CentOS7

クライアント側

・RaspberryPi

 

クライアント側がRaspberryPiなのは、普段使っているMacやWindowからssh接続してそこからCentOSが入っているマシンの電源を入れるためです。

 

イメージ的には以下のようになります。

MacWindows → RaspberryPi →CentOS

 

ちなみにCentOSの電源を入れたいのは、以前の記事で書いた、Sambaでファイルサーバの構築でCentOSをファイルサーバ化しているからです。

it-keynotes.hatenablog.jp

 

RaspberryPiは常時電源Onですが、Samba(CentOS)は余っていたデスクトップPCにインストールしているので電気代の観点から使わない時以外はoffにしてあります。あと、ロフトに置いてあって、いちいち電源をつけに行くのが面倒くさいのでWake On Lanを導入したという背景があります。日常生活では使わないかもといいましたが、一戸建てなどの部屋が複数個ある場合は、便利かもしれませんね。

 

Wake On Lan 導入

BIOSの設定

こればかりはそれぞれのマザーボードを確認していただくしかありません。PC分解してどこかに書かれた型番を確認してもいいですし、箱が残って入ればそこから確認してもらってもいいですが、マザーボードを調べるコマンドがあります。(すでに管理者権限ならsudoはいりません)

 

sudo dmidecode

 

System Information の Product Name がマザーボードです。

型番がわかったら、それをもとにググって設定方法を探してみてください。そろそろマザーボード側がWake On Lan 非対応という可能性もありますので事前調査は必須です。しかし、正直に言ってピンポイントな情報が出てこない可能性もありますので、その辺りはやってみないとわからない、ですね。挑戦するもしないも自己責任でお願いします。

 

それでもわからない場合は以下の記事が参考になると思いますので確認してみてください。

 

qiita.com

 

RaspberryPiにWake On Lanをインストール

それではRaspberryPiにWake On Lanをインストールしていきましょう。

以下コマンドを実行して、Wake On Lanをインストールしていきます。

sudo apt-get install wakeonlan

インストールが完了したらあとはCentOS側にマジックパケットを送信すれば電源Onとなります。続いてマジックパケットの送り先と、送り方です。

 

物理アドレスの確認

CentoOSを起動するために、CentOSに対して特別なパケットを送信する必要があります。そのため、あて先を指定する方法が物理アドレスを指定するということになります。物理アドレスを確認する方法は、CentOSのコンソールで以下のコマンドを実行します。

nmcli device show

このコマンド内の”ハードウェアアドレス”が物理アドレスとなります。

 

Wake On Lanの実行

テストのため、CentOSの電源が入っていないことを確認します。そして以下のコマンドを実行。

wakeonlan XX:XX:XX:XX:XX:XX

 XX:XX:XX:XX:XX:XXの部分が物理アドレスとなります。これで起動できれば成功です。