連載
» 2015年09月10日 05時00分 UPDATE

ネットワークの管理基本Tips:リモートからホストの電源をオンにするには? ether-wakeコマンド

「ether-wake」は、ネットワーク経由で離れた場所にあるホストの電源をオンにする便利なコマンドです。

[海上忍,@IT]

バックナンバー

連載バックナンバー

 本連載では、ネットワーク管理の基本コマンドを順を追って紹介していきます。基本書式と用法、主要なオプション、用例サンプルを示しますので、manやhelp代わりに通読し、各コマンドでできることを順次おさらいしてみてください。今回は、ネットワーク越しにホストの電源をオンにする「ether-wake」コマンドを紹介します。

 なお、本連載では、執筆時点の最新版「Red Hat Enterprise Linux(RHEL)」および「CentOS」環境で動作を確認しています。また、用法事例はIPv4(Internet Protocol version 4)ネットワークを前提にしています。コマンドのサンプルなどで一部環境に依存した出力例となる場合がありますので、その際には適宜ご自身の環境に合わせて読み替えてください。

Wake-On-LANを実行する

ether-wake [オプション] MACアドレス

※[ ]は省略可能な引数を示しています。


ether-wakeコマンドとは?

 「ether-wake」は、ネットワーク越しに離れた場所にあるホストの電源をオンにする、いわゆる「Wake-On-LAN(WOL)」*を実行するためのコマンドです。

 WOLにはいくつかの方式がありますが、ether-wakeコマンドは「マジックパケット」方式に対応しています。マジックパケット方式とは、0xFFを6回繰り返した6バイトのデータと、WOLの対象とするホストのイーサネットアダプターが持つ固有ID(MACアドレス)を16回繰り返した計102バイトのデータをブロードキャストで送信してWOLを実行するものです。

* Wake-On-LANの仕組みについては「Wake-On-LAN入門」(@IT)をご覧ください。



 ether-wakeコマンドで電源オンできるホスト(マジックパケット方式によるWOL対応ホスト)は、イーサネットアダプターやBIOSがWOLに対応していること、OSがACPI 2.0規格に準拠していることなどの条件があります。

 現在では、LinuxやWindows、Mac(OS X)などのOSに加え、仮想化ソフトウエア上で実行されるゲストOSでも、マジックパケット方式のWOLがサポートされていることがあります。

 なお、マジックパケット方式のWOLでは、パケットをブロードキャスト送信するため、送受信に使う機器の両方が同じネットワークセグメントに所属していることが前提です。ただし、WOL対応と明記されたルーター、または7779番ポートのブロードキャストパケットをローカルのブロードキャストアドレスに転送可能なルーターであれば、いわゆる「ルーター越え」も可能です。

 ether-wakeコマンドは「net-tools」パッケージに収録されています。net-toolsはCentOSの標準構成に含まれるため、通常はデフォルトで利用できますが、インストールされていない場合は、以下のように「yum」コマンドを実行して、パッケージをインストールしてください。

$ sudo yum install net-tools

ether-wakeコマンドの主なオプション

 ether-wakeコマンドの主なオプションは次の通りです。

表1 主なオプション
オプション 意味
-D デバッグレベルを指定する
-b マジックパケットをブロードキャストアドレスに送信する
-i 送信対象のネットワークデバイスを特定する
-p パスワードを指定する
-V バージョンを表示する

リモートからホストの電源を入れるには?

 Linuxマシンから他の(WOLに対応した)ホストの電源をオンにする場合は、そのホストのMACアドレスを引数としてether-wakeコマンドを実行します。WOLを実行するだけであれば、オプションは特に必要ありません。

 なお、MACアドレスはホストの管理画面(Windowsであれば「ipconfig /all」コマンド、OS Xであれば「システム環境設定」など)で確認できますが、同じLANに接続しているホストであれば「arp -n」を実行すると、そのホストのIPアドレスとともにMACアドレスを確認できます。IPアドレスが分かる場合は、「arping」コマンドも利用できます。

 下のコマンド実行例では、「arp -n」を実行してMACアドレスを確認し、次のether-wakeコマンドで、「eth0」のIPアドレス「192.168.12.7」のMACアドレスである「b3:e5:26:82:bd:aa」を指定してWOLを実行しています。

$ arp -n
Address        HWtype  HWaddress           Flags Mask   Iface
192.168.12.1   ether   00:0d:a8:aa:12:dc   C            eth0
192.168.12.7   ether   b3:e5:26:82:bd:aa   C            eth0
  ::
 <中略>
  ::
$ sudo ether-wake b3:e5:26:82:bd:aa
Password:

パケットを送出するネットワークデバイスを指定するには?

 ether-wakeコマンドを実行するホストに複数のネットワークデバイスが存在する場合、「-i」オプションを利用すれば、パケットの送出に使うネットワークデバイスを指定できます。仮想環境では一つのネットワークデバイスに複数の仮想ネットワークデバイスを割り当てている場合がありますが、この方法を使えば特定のネットワークにのみパケットを送出することが可能になります。

 下の例では「-i」オプションを使って、「eth1」のMACアドレス「b3:e5:26:82:bd:aa」にのみ、パケットを送出するように指定しています。

$ sudo ether-wake -i eth1 b3:e5:26:82:bd:aa
Password:

「ネットワーク管理の基本Tips」バックナンバー

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。