LAN 越しに PC の電源を投入できる Wake On LAN(以下 WOL) は、ハードウェアが対応していればぜひ活用したい機能だ。これを Linux 上のコマンド操作で実行できれば、cron やシェルスクリプト等で使えたり Web アプリケーションに組み込めたりと、利便性が飛躍的にアップする。外出先から自宅に VPN 接続し、ブラウザーからの操作で PC を起動させてリモートデスクトップ接続や VNC が使えたりすると、非常に便利だ。

WOL を利用するには、まずハードウェア的に WOL が有効になっていなければならない。LAN インターフェイスが PCI 等単体の LAN カードの場合は、BIOS 設定に加えてマザーボードと専用のケーブル接続が必要な場合もあるが、オンボードであれば、通常は BIOS 設定だけで有効/無効をコントロールできる(ことが多いはず)。

ハードウェアの準備ができれば、あとはマジックパケットを送出するプログラムを用意するだけだ。いろいろあると思うが、僕は仙石浩明氏作のフリーソフトウェア Wake-On-Lan を長年愛用している。

上記 URL からソースコードを入手後、次の手順でインストールする。コンパイルに gcc が必要なので、なければ事前にインストールしておく。

$ gcc wol.c -o <任意のファイル名> ← コンパイル

$ su

# mv <任意のファイル名> /usr/local/bin/ ← 生成したバイナリをパスの通った場所にコピー

生成したバイナリのファイル名を "wol" とすれば、使い方は次の通り。

$ wol <ブロードキャスト IP アドレス> <ターゲットの MAC アドレス>

僕はターゲットのホスト名を渡すと IP アドレスと MAC アドレスを調べて Wake-On-Lan コマンドを実行するスクリプトを "wol" と言う名前で用意しているので、上記で生成する Wake-On-Lan のバイナリのファイル名は、"wakeonlan" としている。

尚、WOL で使われるマジックパケットは 「UDP の任意のポート」 と言うことで特に決まっていないようだが、前述の Wake-On-Lan では UDP/9 が使われる。マジックパケットを投げる手段や利用ポートが何番であっても 「マジックパケットをブロードキャストでバラ撒く」 と言う WOL の性質上、原則的に射程範囲はブロードキャストが届くサブネットの中に限定される点に注意。

こちらで WOL について詳細な解説がされているので、興味のある方はどうぞ。

Comments are closed.