リモートからホストの電源をオンにするには? ether-wakeコマンド:ネットワークの管理基本Tips
「ether-wake」は、ネットワーク経由で離れた場所にあるホストの電源をオンにする便利なコマンドです。
本連載では、ネットワーク管理の基本コマンドを順を追って紹介していきます。基本書式と用法、主要なオプション、用例サンプルを示しますので、manやhelp代わりに通読し、各コマンドでできることを順次おさらいしてみてください。今回は、ネットワーク越しにホストの電源をオンにする「ether-wake」コマンドを紹介します。
なお、本連載では、執筆時点の最新版「Red Hat Enterprise Linux(RHEL)」および「CentOS」環境で動作を確認しています。また、用法事例はIPv4(Internet Protocol version 4)ネットワークを前提にしています。コマンドのサンプルなどで一部環境に依存した出力例となる場合がありますので、その際には適宜ご自身の環境に合わせて読み替えてください。
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コマンドの主なオプションは次の通りです。
オプション | 意味 |
---|---|
-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:
- 無線LANのパスフレーズを暗号化するには? wpa_passphraseコマンド
- 無線LANにWPAで接続するには? wpa_supplicantコマンド
- このポートで実行中のプロセスはどれ? lsofコマンドの使い方
- ルーティングテーブルの設定をテストするには? routeコマンド
- DHCPサーバーと連携してIPアドレスを設定するには? dhclientコマンド
- NICの無効化/有効化、再起動を行うには? ifdown/ifupコマンド
- SSHサーバーの公開鍵管理を効率化するには? ssh-keyscanコマンド
- サーバーの時刻合わせコマンド、ntpdateはどのサーバーを参照すべき?
- 連番ファイルをダウンロードして他のコマンドに渡すには? curlコマンドの使い方
- 無線LAN接続の設定を操作するには? iwconfigコマンドの使い方
- 端末からアクセスポイントの情報を調べるには? iwlistコマンド
- HTTP/HTTPSでまとめてデータを取得するwgetコマンドとは?
- サーバーリソースのリアルタイム監視ができる便利ツール、dstatコマンドとは?
- SSHを介してファイル転送を行うには? sftpコマンド
- バッチなどでファイルのやり取りを安全に実行するには? scpコマンド
- SSHサーバーにログインするには? sshコマンド
- SSHでリモートホストに接続する前にやっておくと便利なことは? ssh-keygenコマンド
- あのホストまでの経路や通信ボトルネックを調べるには? tracerouteコマンド
- IPアドレスを指定してMACアドレスを調べるには? arpingコマンド
- NetworkManagerをコマンドラインから操作するには? nmcliコマンド
- 「192.168.0.100/24」のネットワークアドレスを即答するには? ipcalcコマンド
- サーバーとの通信状況を確認するには? ネットワークの速度を測るには? pingコマンド
- ネットワークデバイスを設定/状態確認するには? ifconfigコマンド
- MACアドレスを調査するには? arpコマンド
- IPアドレスやホスト名を調べるには? hostコマンド
- netstatコマンドとは?
- DNSサーバーが正常に動作しているかどうか確認するには? digコマンド
Copyright © ITmedia, Inc. All Rights Reserved.