ルータ内のPCからでも WOL でリモートPCを起動する

ALL
スポンサーリンク

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 – インフラまわりのプロになりたい

コメント