Wake On LANで別のマシンを起動
じんたろうは理由があり外部からサーバーと同じLAN内に居るマシンを起動したい事がありました。
今回実現できましたので紹介します。
Wakeonlanのインストール
こちらのページから「Wakeonlan」をダウンロードしてインストールします。
[root@jintaro ~]# wget http://gsd.di.uminho.pt/jpo/software/wakeonlan/downloads/wakeonlan-0.41-0.fdr.1.noarch.rpm
↑Wakeonlanをダウンロード
[root@jintaro ~]# rpm -ihv wakeonlan-0.41-0.fdr.1.noarch.rpm ←Wakeonlanをインストール
警告: wakeonlan-0.41-0.fdr.1.noarch.rpm: ヘッダ V3 DSA signature: NOKEY, key ID 91bd851b
準備中... ########################################### [100%]
1:wakeonlan ########################################### [100%]
[root@jintaro ~]# rm -f wakeonlan-0.41-0.fdr.1.noarch.rpm ←ダウンロードしたrpmファイルを削除
|
コマンドラインからWakeonlanの実行
[root@jintaro ~]# wakeonlan AB:CD:EF:12:34:56
Sending magic packet to 255.255.255.255:9 with AB:CD:EF:12:34:56
|
Wakeonlanを実行(MACアドレスを指定)
AB:CD:EF:12:34:56にMagicPacketが送られた
|
MACアドレスは
Windows の場合コマンドプロンプトで ipconfig /all
Linux の場合 ifconfig
で調べます。
外部から実行
外部から上記コマンドを実行するにはwol.shtml等のファイルを外部からアクセスできる場所(public_htmlなど)に置き中身を
<!--#exec cmd="wakeonlan AB:CD:EF:12:34:56" -->
|
として外部からwol.shtmlにアクセスします。
- この例ではSSIを使ってますのでSSIを使えるようにしておく必要があります。
- 認証等でアクセス制限しておきましょう。第三者にアクセスされるといきなりマシンが起動してびっくりします。
- Wakeonlan(MagicPacket)は理屈上一方通行です。起動したかどうかは別の方法で(pingを送るなど)して確認するしかありません。
- 起動するマシン(LANボード)にWakeOnLanの機能があり、かつマザーボードのBIOSで有効にしておく必要があります。
|