〜SCNオリジナル WFAの導入〜

WFAとは?

管理者がふと「こんなのあったらいいかなぁ」という発想でできた
Wake From Anywhere = どこからでも杵動できる遠隔操作システムの一種です。
「いえに帰る頃、ちょうどにパソコンが起動していればいいのに・・・」という希望がかなえられました。



WFAの仕組み
特殊な暗号送信(マジックパケット)でマシンを起動させるWake On Lan(WOL)を応用したものです。
Vectorにいくとこの手のソフトが置いてありますが家庭では使わない機能ですよね。
たとえ2台以上やっても既に起動しているマシンから他マシンを起動させたって大したことありません。

「じゃあ、どうやって携帯とかからWOLと同等のことをさせるのか?」
「そもそもWakeon・・・LANなんだからLAN内じゃないと使えないじゃないか!

そこで思いついた方法。
『Webスクリプトから操作すればLAN内から操作したことと同じ状態である』
どういうことかというと・・・
PHPやPerl(いわゆるCGI)で、Web上からWOLコマンドを送信させるわけです。
Q.さて、処理するのは!?
起動させたいマシンと同じLAN内にいるサーバです。
つまり、サーバがLAN内にWOLコマンドを送信していることと同じです(実際、送信するんですけどね)
こんな説明でいいのかなぁ(^^;

WOL導入
まずはLinuxでWOLするソフトをインストールしましょう
こちらからwakeonlanをダウンロードしてください
以下のようにコマンドラインをうちます。
# tar xzvf wakeonlan-0.40.tar.gz
# cd wakeonlan-0.40
# perl Makefile.PL ←./configureではないので注意

# make
# make install

MACアドレスを調べる
おっとMACアドレスを調べる前に・・・。
書き忘れましたが、前提はWakeOnLanが使えるLANカード(とBIOS)です。
起動させたいマシンでWakeOnLan機能があるか調べてください。

次に、BIOSでWakeOnLanを許可(Enable)しなければなりません。
こちらはマシン起動時にDELキーを連打などで出てきます。


方法はBIOS種類によるので割愛させていただきます。
説明書などを読むか、インターネットで「BIOSの名前 WakeOnLan」と調べればたいていは出てきます

さて本番。
相手がLinuxの場合はハードウェアからeth0のMACアドレスを出してください。

相手がWindowsの場合
MS-DOSプロンプトか、コマンドプロンプトを出します。
Win95/98は、タスクバーの「スタート」−「プログラム」−「MS-DOSプロンプト」
WinMEは、タスクバーの「スタート」−「プログラム」−「アクセサリ」−「MS-DOSプロンプト」
そして出てきた黒い画面で「winipcfg」と入力しEnterキーを押します。
するとIP設定というウィンドウが出ます。その中のアダプタアドレス=MACアドレスです。
メモしてください。

WinNT/2000は、「スタート」−「プログラム」−「コマンドプロンプト」

こちらは「ipconfig/all|more」と入力しEnterキーを押します。
Physical Address=MACアドレスとなります。

WindowsとLinuxではアドレスの区切り方が異なります。
00-12-34-AB-6CというMACアドレスならば 00:12:34:AB:6C となります。
つまり区切り記号はハイフンからコロンにかえなくてはなりません。

Webからコマンド
ここでは、Perl+SHスクリプトを紹介します。
(システム関数を使うためセキュリティ設定により動かない場合があります)

-----------------------------------------
下記のようなPerlスクリプトを書きます。
-----------Script--------------
#!/usr/bin/perl

print "Content-type: text/html\n";
print < Wake from Anywhere EOF @cmd = ('/usr/bin/wakeonlan', '00:12:**:**:**:6C'); print system @cmd; print ""; ---------------Script----------------------
これをWebサーバにおいて呼び出すだけでOKです。
一般人にアクセスされて夜中にマシンが起動しちゃうと
とんでもないのでアクセス制限を忘れずに
これを使えば起動できるらしいのですが諸事情で私のサーバ(SCN)では
PHPを使っています。
このPHPタイプのほうがいいのですが、世間に公開するには少し危険な点があるので
今のところは控えさせていただきます。
なお、Web上より操作しますので出来ればセキュア通信(https://)を使いましょう!

手順は、以上で完了です。
是非、活用してください。特に私のように古くてのろいマシンをお使いならば有効!
家まで何分かを計算して、到着するころに起動完了するように携帯からWOLすればいいのです。
なお、このシステムはネット接続できさえすればどこでも実行できるので
WFA - Wake From Anywhere と名づけました。

是非、家族の目の前で携帯からピッと起動させてみてください。
まさか携帯で操作できるとは思いませんし、さぞかしびっくりしている顔が見れるでしょう(^^;
種ありマジックってとこですかねぇ(謎)

■現在、プロジェクト進行中!
・Windows版WFAを開発中です。
・電源シャットダウン、再起動を携帯端末から(テスト中です)
・携帯端末からソフトを起動させる、IPを更新要求を出す(テスト中です)


SCNサーバへ戻る


2006.02.21 スクリプト改訂


Copyright(C)2002-06.Suzuaki All Rights Reserved.
情報の無断転載・直リンクはご遠慮下さい
(リンクする場合はTOPページにお願いします。)