■WFAとは?
管理者がふと「こんなのあったらいいかなぁ」という発想でできた■WFAの仕組み
Wake From Anywhere = どこからでも杵動できる遠隔操作システムの一種です。
「いえに帰る頃、ちょうどにパソコンが起動していればいいのに・・・」という希望がかなえられました。
特殊な暗号送信(マジックパケット)でマシンを起動させるWake On Lan(WOL)を応用したものです。■WOL導入
Vectorにいくとこの手のソフトが置いてありますが家庭では使わない機能ですよね。
たとえ2台以上やっても既に起動しているマシンから他マシンを起動させたって大したことありません。
「じゃあ、どうやって携帯とかからWOLと同等のことをさせるのか?」
「そもそもWakeon・・・LANなんだからLAN内じゃないと使えないじゃないか!
そこで思いついた方法。
『Webスクリプトから操作すればLAN内から操作したことと同じ状態である』
どういうことかというと・・・
PHPやPerl(いわゆるCGI)で、Web上からWOLコマンドを送信させるわけです。
Q.さて、処理するのは!?
起動させたいマシンと同じLAN内にいるサーバです。
つまり、サーバがLAN内にWOLコマンドを送信していることと同じです(実際、送信するんですけどね)
こんな説明でいいのかなぁ(^^;
まずはLinuxでWOLするソフトをインストールしましょう■MACアドレスを調べる
こちらからwakeonlanをダウンロードしてください
以下のようにコマンドラインをうちます。
# tar xzvf wakeonlan-0.40.tar.gz
# cd wakeonlan-0.40
# perl Makefile.PL ←./configureではないので注意
# make
# make install
おっとMACアドレスを調べる前に・・・。■Webからコマンド
書き忘れましたが、前提は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 となります。
つまり区切り記号はハイフンからコロンにかえなくてはなりません。
ここでは、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 "