
【動機】
(戯言なので早く方法を教えろという方は読み飛ばしてください)
先日、NURO光を導入した。
が、大問題が発生した。設置されたルーター(ホームゲートウェイ)のHG-8045jにはWoL(Wake on Lan)の機能がないのだ。
この状況でWoLを実現するには、ネットで調べると次のような方法がヒットする。
1.常時起動のPCなどを立てておき、そこに遠隔操作やWebインターフェースを作成しWoLアプリを立ち上げる。
2.WoLリピーターを購入または作成する。
幸い(?)我が家には24時間起動のPC(録画サーバー)があるので1.の方策は安易にできそうだ。
が、スマートではない。
外出先からスマートフォンのアプリでワンタップ起動というわけにはこれではいかなさそうだ。
2.の方策は購入する場合は1万円程度の出費がかかり
(なぜこんなに高いのか?どう考えてもニッチ商品のボッタクリだろ)、
自作するにも5000円程度掛かりそうだし、うまく作れるかどうかのリスクが有る。何より面倒くさい。
我が家には要らなくなったBUFFALOのルーターがいくつか転がっている。
中古でもうまくすればオークションで1000円程度で手に入る。
純正のファームウェアではWoLのwebインターフェースが用意されているものもあるが、先に述べたようにこれはスマートではない。
不具合も多い。
BUFFALOのルーターはdd-wrtのファームが使用できるものが多く、これは設定次第でWoLが可能だ。
しかし、これはあくまでもルーターとして使用した時の設定。
NURO光ではレンタルされたルーターを置き換えることはできない。
そこでdd-wrtの設定で何とかWoLリピーターとして動作しないもんかとやってみたら、思惑通り見事にうまくいったので報告をば。
【実際の手順】
■環境
ここでは既にdd-wrt化されたルーターをWoLリピーター化するものとする。
各ルーターのdd-wrt化の方法は他を参照してください。
・ルーター(実際にWANに接続している機器):HG-8045j
・WoLリピーター:BUFFALO WZR-600DHP(WZR-HP-AG300H)
・Firmware: DD-WRT v24-sp2 (04/11/13) std
・ネットワークセグメント:単一(192.168.0.xxx/24)
・WZR-600DHPのLAN側アドレス:192.168.0.181(任意)
・WZR-600DHPのWAN側アドレス:192.168.0.180(任意だが同一セグメント内のアドレスであること)
・WoLマジックパケットのポート番号:2304(任意)
WZR-600DHPは他のPCと同じように普通にLANに接続されているだけ。
LANの口にLANケーブルを接続し、WANの口(青い口)には何も接続しない。
(無線LANのアクセスポイントとして利用可)
■アドレス変換ルールの設定
dd-wrtのメニューから[NAT/QoS]–[アドレス変換(Port)]。
[追加]ボタンでアドレス変換ルールを設定する。
アプリケーション名・ポートは任意(WoLには9が一般的、自分の場合は2304にした)、プロトコルはUDP。
IPアドレスは、WOL対象機器のIPアドレスではなく「割当てられていない最大IPアドレス」。
通常はxxx.xxx.xxx.254(※1)となる。それが割り当てられていれば順次小さいIPアドレスにする。
有効にチェックを入れる。

■起動時スクリプトの設定
メニューから[管理]–[コマンド実行]。
[実行コマンド]のテキストエリアに、
arp -i br0 -s xxx.xxx.xxx.254 FF:FF:FF:FF:FF:FF
IPアドレスは、xxx.xxx.xxx.254は前の手順の(※1)と同一のもの。
MACアドレス(FF:FF:FF:FF:FF:FF)はそのままでOK(WoLの目的機器のMACアドレスではない)。
[起動時スクリプトとしてとして保存]をクリック。

■IPアドレスの設定
IPアドレスをLAN側とWAN側2箇所設定する。
WAN側のIPアドレスを設定するのはこの後で設定するルーターからのWoLマジックパケットを取得するため。
LAN側のIPアドレスも一応固定(おそらく固定しなくてもいい、試していない)
[基本]–[基本]。
・WAN Setup - WAN Connection Typeの設定
Connection TypeをStatic IPにする。
WAN IP Addressはセグメント内の任意に設定(ここでは192.168.0.180)(※2)
サブネットマスクはセグメントの設定に従う。
ゲートウェイもセグメント内の設定に従う。
DNSは任意。設定しなくてもよい。
・Network Setup - Router IPの設定
Local IP Addressはセグメント内の任意の上記とは異なるアドレスを設定(ここでは192.168.0.181)
サブネットマスクはセグメントの設定に従う。
ゲートウェイもセグメントの設定に従う。
DNSは任意。設定しなくてもよい。
Optional Settingはご自由に。

■設定の反映
[管理]–[管理]
画面最下部の[再起動]をクリックしdd-wrt化したルーターの再起動。
これでWoLリピーターの出来上がり。
■ルーター(HG-8045jの準備)
外部からルーターを経由してWoLリピーターに向けてマジックパケットが送れるようにポート開放を行う。
ポート番号は外部からWoLマジックパケットを送信するときに使用する番号(この例では2304)。
プロトコルはUDP。
送信先はWoLリピーターのWAN側アドレス(※2)に設定する。(この例では192.168.0.180)
ポート開放の設定方法や項目名はルーターによって違うので、あくまでも一例。
各ルーターのポート開放の設定方法はネット上にたくさん情報があるのでそちらを参照してください。

■テスト
あとは実際にインターネット側からマジックパケットを送信してみる。
(このとき、MACアドレスはWoLさせたい対象機器のものを指定する)
無事目的の機器が起動すればおめでとうございます。
以上お疲れ様でした。
ではでは。
(戯言なので早く方法を教えろという方は読み飛ばしてください)
先日、NURO光を導入した。
が、大問題が発生した。設置されたルーター(ホームゲートウェイ)のHG-8045jにはWoL(Wake on Lan)の機能がないのだ。
この状況でWoLを実現するには、ネットで調べると次のような方法がヒットする。
1.常時起動のPCなどを立てておき、そこに遠隔操作やWebインターフェースを作成しWoLアプリを立ち上げる。
2.WoLリピーターを購入または作成する。
幸い(?)我が家には24時間起動のPC(録画サーバー)があるので1.の方策は安易にできそうだ。
が、スマートではない。
外出先からスマートフォンのアプリでワンタップ起動というわけにはこれではいかなさそうだ。
2.の方策は購入する場合は1万円程度の出費がかかり
(なぜこんなに高いのか?どう考えてもニッチ商品のボッタクリだろ)、
自作するにも5000円程度掛かりそうだし、うまく作れるかどうかのリスクが有る。何より面倒くさい。
我が家には要らなくなったBUFFALOのルーターがいくつか転がっている。
中古でもうまくすればオークションで1000円程度で手に入る。
純正のファームウェアではWoLのwebインターフェースが用意されているものもあるが、先に述べたようにこれはスマートではない。
不具合も多い。
BUFFALOのルーターはdd-wrtのファームが使用できるものが多く、これは設定次第でWoLが可能だ。
しかし、これはあくまでもルーターとして使用した時の設定。
NURO光ではレンタルされたルーターを置き換えることはできない。
そこでdd-wrtの設定で何とかWoLリピーターとして動作しないもんかとやってみたら、思惑通り見事にうまくいったので報告をば。
【実際の手順】
■環境
ここでは既にdd-wrt化されたルーターをWoLリピーター化するものとする。
各ルーターのdd-wrt化の方法は他を参照してください。
・ルーター(実際にWANに接続している機器):HG-8045j
・WoLリピーター:BUFFALO WZR-600DHP(WZR-HP-AG300H)
・Firmware: DD-WRT v24-sp2 (04/11/13) std
・ネットワークセグメント:単一(192.168.0.xxx/24)
・WZR-600DHPのLAN側アドレス:192.168.0.181(任意)
・WZR-600DHPのWAN側アドレス:192.168.0.180(任意だが同一セグメント内のアドレスであること)
・WoLマジックパケットのポート番号:2304(任意)
WZR-600DHPは他のPCと同じように普通にLANに接続されているだけ。
LANの口にLANケーブルを接続し、WANの口(青い口)には何も接続しない。
(無線LANのアクセスポイントとして利用可)
■アドレス変換ルールの設定
dd-wrtのメニューから[NAT/QoS]–[アドレス変換(Port)]。
[追加]ボタンでアドレス変換ルールを設定する。
アプリケーション名・ポートは任意(WoLには9が一般的、自分の場合は2304にした)、プロトコルはUDP。
IPアドレスは、WOL対象機器のIPアドレスではなく「割当てられていない最大IPアドレス」。
通常はxxx.xxx.xxx.254(※1)となる。それが割り当てられていれば順次小さいIPアドレスにする。
有効にチェックを入れる。

■起動時スクリプトの設定
メニューから[管理]–[コマンド実行]。
[実行コマンド]のテキストエリアに、
arp -i br0 -s xxx.xxx.xxx.254 FF:FF:FF:FF:FF:FF
IPアドレスは、xxx.xxx.xxx.254は前の手順の(※1)と同一のもの。
MACアドレス(FF:FF:FF:FF:FF:FF)はそのままでOK(WoLの目的機器のMACアドレスではない)。
[起動時スクリプトとしてとして保存]をクリック。

■IPアドレスの設定
IPアドレスをLAN側とWAN側2箇所設定する。
WAN側のIPアドレスを設定するのはこの後で設定するルーターからのWoLマジックパケットを取得するため。
LAN側のIPアドレスも一応固定(おそらく固定しなくてもいい、試していない)
[基本]–[基本]。
・WAN Setup - WAN Connection Typeの設定
Connection TypeをStatic IPにする。
WAN IP Addressはセグメント内の任意に設定(ここでは192.168.0.180)(※2)
サブネットマスクはセグメントの設定に従う。
ゲートウェイもセグメント内の設定に従う。
DNSは任意。設定しなくてもよい。
・Network Setup - Router IPの設定
Local IP Addressはセグメント内の任意の上記とは異なるアドレスを設定(ここでは192.168.0.181)
サブネットマスクはセグメントの設定に従う。
ゲートウェイもセグメントの設定に従う。
DNSは任意。設定しなくてもよい。
Optional Settingはご自由に。

■設定の反映
[管理]–[管理]
画面最下部の[再起動]をクリックしdd-wrt化したルーターの再起動。
これでWoLリピーターの出来上がり。
■ルーター(HG-8045jの準備)
外部からルーターを経由してWoLリピーターに向けてマジックパケットが送れるようにポート開放を行う。
ポート番号は外部からWoLマジックパケットを送信するときに使用する番号(この例では2304)。
プロトコルはUDP。
送信先はWoLリピーターのWAN側アドレス(※2)に設定する。(この例では192.168.0.180)
ポート開放の設定方法や項目名はルーターによって違うので、あくまでも一例。
各ルーターのポート開放の設定方法はネット上にたくさん情報があるのでそちらを参照してください。

■テスト
あとは実際にインターネット側からマジックパケットを送信してみる。
(このとき、MACアドレスはWoLさせたい対象機器のものを指定する)
無事目的の機器が起動すればおめでとうございます。
以上お疲れ様でした。
ではでは。
スポンサーサイト


