Wake on LAN(WOL)でVNC

最近タイトルの環境を作ったのでメモを。

サーバーにはLinux(Ubuntu)、クライアントはWindows7 x64 + ultraVNC 目的のPCはWindows7 x32
サーバーと目的のPCは同じLAN内にある。


まず目的のPCにultraVNCのサーバーをインストール。
参考:http://www.atmarkit.co.jp/fwin2k/win2ktips/933vncinstsrv/vncinstsrv.html
参考のサイトにも記されているが、インストール時に"ultraVNCサーバーをシステムサービスに登録"って奴にチェックを入れとかないとwolで起こした後に無事デスクトップを拝めなくなるので注意。


次にこの目的のマシンをWOLに反応する形にしてあげる必要がある。
windowsスタート→コンピューター を右クリックしてデバイスマネージャーを開き
ネットワークアダプターのNIC(Network Interface Card)のプロパティを表示。
Wakeup Capabilitiesの項目を自分は"magic packet"を選択した。"both"でもいいと思う。
(旧いNICだとこの項目がないかも・・・。その場合はWOL対応してないんだと思う)


そしてコマンドプロンプトを開いて ipconfig/all と入力
イーサネット アダプター ローカル エリア接続 の項の物理アドレスをメモ
(00-00-00-00-00-00って感じの書式。)


最後にBIOSの方でWOLが効かないように設定されてる場合もあるので一度再起動してBIOS設定モードに入る。
自分の環境ではPOWERの項目にあったが、Wake up from LANみたいな項目がdisableだったのでenableに変更。
これで目的PCサイドの設定は終わり。とりあえずスリープさせときましょう。



つぎにサーバーの設定wakeonlanをインストールする。
#aptitudo install wakeonlan
そして実行。先ほどメモった物理アドレスをここで使う
$wakeonlan 00:00:00:00:00:00
(区切り文字が":"に変わっている事に注意。)
内部の動きとしてはマジックパケットをブロードキャストしているらしい。
MACアドレスが合致したNICが反応するという仕組み。これで目的のPCが起動すれば成功ですネ。


起動した後はクライアントPCのultraVNCviewerで接続できます。
ユーザーログイン画面から見れるはずです。
あ、ちなみにウチはSSHトンネルで目的のPCに接続してるんですが〜
これも説明に含まれると長くなるので割愛。
もし要望があれば書きます。今度暇な時にでも書くかも。