WOL でリモートPCを起動する方法です。
ここで説明する方法では、ルータ内のPCからでもOKです。
リモートPCは、グローバルIPを持っている必要があります。ルータ内のPCに対しては起動させられませんので、注意して下さい。
以下では、Windows/RaspberryPI/CentOS/Ubuntu の場合について、説明します。
WindowsからWOL
Wake up On Lan Tool を使います。
Wake up On Lan Toolの詳細情報 : Vector ソフトを探す!
起動後、ポート番号には 9 を指定します。
IPアドレス、MACアドレスは、起動させたいリモートPCのものを設定します。
サブネット マスクには、255.255.255.255 を指定します。
[OK]を押すと WOL実行(マジックパケット送信)です。
RapberryPiからWOL
仙石 浩明 氏のフリーソフトウェアを利用します。
ソースコードで公開されているので、次のようにして wolコマンドを作成します。
wget http://www.gcd.org/sengoku/docs/wol.c gcc wol.c -o wol
次の書式で実行します。
IPアドレスは、起動させたいリモートPCのものを設定します。
xx:xx:xx:xx:xx:xx は、リモートPCの MACアドレスです。
./wol IPアドレス xx:xx:xx:xx:xx:xx
Sendto failed と出た場合は、root で実行して下さい。
それでもエラーになる場合は、外向きUDPをファイアウォールでブロックしていないか確認して下さい。
iptabls の場合、一時的に外向きUDPを許可する場合は、次のようにしてルールを先頭に追加します。
iptables -I OUTPUT -p udp -j ACCEPT
追加したルールを削除する場合は、次を実行します。
iptables -D OUTPUT 1
iptables ルール追加・削除については、下記の記事を参照してください。
iptables ルール追加・挿入・削除・置き換え パソコン鳥のブログ
CentOS から WOL
先の「RapberryPiからWOL」で説明の方法か、wolパッケージの wolコマンドを使用します。
yum install wol でインストール後、次の書式で実行します。
IPアドレスは、起動させたいリモートPCのものを設定します。
xx:xx:xx:xx:xx:xx は、リモートPCの MACアドレスです。
wol -i IPアドレス xx:xx:xx:xx:xx:xx
なお、CentOS で WOL実行するコマンドで、よく ether-wake が紹介されていますが、ルータ内のPCからは出来ません。
ether-wake では、リモートPCのIPアドレスを指定することが出来ないからです。
Ubuntu から WOL
先の「RapberryPiからWOL」で説明の方法か、wakeonlanコマンドを使用します。
apt-get install wakeonlanでインストール後、次の書式で実行します。
IPアドレスは、起動させたいリモートPCのものを設定します。
xx:xx:xx:xx:xx:xx は、リモートPCの MACアドレスです。
wakeonlan -i IPアドレス xx:xx:xx:xx:xx:xx
以上、ルータ内のPCからでもWOL でリモートPCを起動する方法でした。
参考
Raspberry PiからWake On LanでWindowsを外出先から起動できるようにした – ひよこになりたい
目覚めのときだ Wake On LAN – インフラまわりのプロになりたい
コメント