Wake On Lan を使うとリモートのマシンを起動することができます。 常時起動でない PC にリモートデスクトップで接続する時などに役立ちます。
WoL の必要条件
- 起動したいマシンのハードウェアが WoL に対応していること
- 起動したいマシンの MAC アドレスが分かっていること
- 起動したいマシンへマジックパケットを送信できる環境
※最近のマシンであればほとんどが WoL に対応していると思います。
※WoL は対象のマシンに特別なデータパケットを送信することで実現されています。
WoL の準備
起動されるマシンでの設定
Windows のマシンを WoL で起動したい場合には、次の様な設定を行っておく必要があります。
[スタート] ボタンを押し、[検索の開始] ボックスに "デバイス" と入力し、デバイスマネージャーを起動します。
ネットワークアダプターのプロパティーを開き、WoL が有効になるように設定します。
環境によってこの設定ページの表示内容は異なります。
MAC アドレスの確認
WoL の実施には対象マシンの MAC アドレスが必要です。 MAC アドレスの調べ方を説明します。
Windows の場合
コマンドプロンプトで次のコマンドを実行することで確認できます。
> ipconfig /all
Windows IP 構成
ホスト名 . . . . . . . . . . . . :
プライマリ DNS サフィックス . . . . . . . :
ノード タイプ . . . . . . . . . . . . : ハイブリッド
IP ルーティング有効 . . . . . . . . : いいえ
WINS プロキシ有効 . . . . . . . . : いいえ
イーサネット アダプター ローカル エリア接続:
接続固有の DNS サフィックス . . . :
説明. . . . . . . . . . . . . . . : Intel(R) 82579V Gigabit Network Connection
物理アドレス. . . . . . . . . . . : AB-CD-EF-GH-IJ-KL
物理アドレス が MAC アドレスのことです。
UNIX 系 OS の場合
次のコマンドで確認できます。
:bash:
$ ifconfig
eth0 Link:Ethernet HWaddr 01:23:45:67:89:AB
…
HWaddr が MAC アドレスのことです。
ローカルエリアネットワーク内の別のマシンの MAC アドレスを取得する方法
arp コマンドで調べられます。次の様に調べたいマシンの IP アドレスを指定して実行します。
> arp -a 192.168.0.1
マジックパケットを送信できるフリーソフトと使い方
WoL のために利用できるフリーソフトが幾つもあります。
幾つか使いやすいと思ったものを紹介します。
Ruby が使える場合
wol という gem があります。
:bash:
> gem install wol
Fetching: wol-0.4.0.gem (100%)
Successfully installed wol-0.4.0
1 gem installed
Installing ri documentation for wol-0.4.0...
Installing RDoc documentation for wol-0.4.0...
> wol -i address ff:ff:ff:ff:ff:ff
address のところには対象マシンのIPアドレスを含むブロードキャスト IP アドレスを指定します。 例えば対象マシンの IP アドレスが 192.168.100.1/24 であれば、192.168.100.255 を指定します。 ff:ff:ff:ff:ff:ff のところには対象マシンの MAC アドレスを指定します。
gcc コンパイラが使える場合
以下から WoL のマジックパケットを送信できる C言語のソースコードがダウンロードできます。
http://www.gcd.org/sengoku/freesoft.ja.html
次の様にコンパイルして実行できます。
:bash:
$ gcc wol.c -o wol
$ ./wol address ff:ff:ff:ff:ff:ff
GUI アプリ
GUI のソフトでは、RemotePower が使いやすかったです。
ルータを越えて WoL する方法
私が外出先から自宅の PC を WoL で起動する場合、まず自宅の NAS (常時起動) に SSH で接続し、そこから WoL のマジックパケットを送信しています。
SSH の ポートフォワーディング を利用すると、起動した PC に、ルータを超えてリモートデスクトップで接続できます。 用が済んだら コマンドラインからWindows PCを停止(スリープなど)する方法 Ctrl + Alt + End で PC をスリープにして接続を切ります。
※このページはリンク先の画像をポップアップ表示するブックマークレットを使っています。
ピンバック: コマンドラインからWindows PCを停止(スリープなど)する方法 | TipsZone