WoL(Wake on LAN)とは、シャットダウンしているPCを遠隔操作して起動する方法。寝ているPCにモーニングコールして起こす様子をイメージすればわかりやすいと思う。
「外出中に自宅のPCの電源を入れてアレコレしたい!」と思ったことがある人もいるかもしれない。
起動しているPCならリモートコントロールするのは容易だが、電源が入っていなければ電源を入れるところから始まる。これを実現する技術がWoL。
この記事では、NURO光のルータ兼ONU(FG4023B)とTP-LinkのArcher C80の2重ルータに近い環境でWANからWoLする方法を解説する。
WoLの目的は停電対策
そもそもなぜWoLできるようにしようと思ったかというと、外出中に発生した予期せぬ停電でシャットダウンしたPCの電源を入れたいと思ったためだ。
普段はPCゲームをプレイするのに使っているPCがあるのだが、ゲームをプレイしていないときはGPUが遊んでいる。
10万円以上出して購入したGPUなので、できるだけ活用したい。そこで目をつけたのが暗号資産(仮想通貨)マイニング。
これはGPUを計算用途に使用して報酬を得る仕組みのこと。詳しい仕組みは本題ではないので割愛する。
マイニングは常時行うものなので、当然だがPCの電源は入れっぱなしになる。しかし、ある日停電が発生してPCの電源が切れてしまった。
PCの再起動なら勝手に電源がはいるからリモートコントロールのソフトウェアを使用できるが、停電では電源が切れた状態になってしまうので使えない。
そういうときにWoLができれば遠隔操作でPCの電源を入れられるので、外出先からマイニングを再開できる。
ほかにもいろいろな用途に応用できるので、この機会にWANからWoLできるようにしたいと思った。そんなところからこの物語が始まる。
具体的なネットワーク環境
自宅のネットワーク環境を上流から掲載すると以下の通り。
- NURO光で使用しているONU(FG4023B)
- TP-Linkのルータ(Archer C80)
- さまざまなデバイス(30台くらい)
ここで問題になるのが、NURO光が提供しているFG4023Bにはルータ機能が搭載されているというもの。今回はこれがネットワークを構築する支障になった。
最初はTP-Link Archer C80をブリッジモードで接続する
普通にONUにTP-Linkのルータを接続すると2重ルータになり、いろいろ面倒になる。だからこれはできるだけ避けたい。
避ける方法はとても簡単。自前のArcher C80をブリッジモードで接続するだけでOK。ということで早速ブリッジモードで接続する。
しかし、そんな簡単にはいかなかった。
予期せぬ不具合が発生
ブリッジモードで接続して接続してみると、特に何の問題もなく動いているように見えた。これなら設定は簡単。
FG4023Bにポートフォワーディングの設定をしてブロードキャストアドレスにマジックパケットを送れるようにするだけで済む。
しかし、いろいろゴニョゴニョしていると予期せぬバグが発生。この方法は使えないことが判明。
5台以上同時にアクセスするとFG4023Bがバグる
設定中はどうせスマホを使わないので、この間にOSアップデートを実行する。2台同時に更新ファイルのダウンロードを開始して設定に移る。
設定中に家中のスマートプラグとロボット掃除機にもファームウェアアップデートが来ていたらしく、そちらが自動的に開始される。
そうすると突然FG4023Bの挙動がおかしくなる。ランプが異常点滅し始め、ブラウザから管理画面へもアクセスできなくなる。
この頃は「アクセス集中による一時的なトラブルか…数分で直るだろう」と放置する。
どうせ直るまで何もできないから、ドミノ・ピザのクーポン消化になんか注文しようと考えてサイトを見ようとする。もちろんつながらなかった。
あとで検証したところ、どうやら5台以上同時にアクセスするとバグってFG4023Bがおかしくなるらしい。
明らかに挙動がおかしいのでNUROのサポートに連絡したところ、故障の可能性が高いから交換するとのこと。
ONUを再起動するまでネットワークに繋げない
ドミノ・ピザのサイトに繋がらない現象がいつまで経っても直る気配がない。これはおかしいぞと思ってTP-Linkのルータを再起動する。しかし直らない。
FG4023Bには全然つながらないので、コンセントを抜いて再び挿す方法で再起動する。これでやっと繋がるようになる。
何だったのかわからないまま設定を始めるが、やっぱり複数デバイスからのアクセスが集中するとネットワークにアクセスできなくなった。
これでは何の解決にもなっていない。
ONUを交換しても不具合が直らない
NUROから交換用のONU(機種は同じFG4023B)が届き、交換する。
これで直るかと思ったけど、交換後もアクセスが集中するとアクセスがおかしくなって再起動するまで直らない現象が発生。ここで確信する、FG4023B側に(おそらくソフトウェア面の)不具合があると。
ソフトウェア面の不具合なら、メーカーがソフトウェアアップデートを提供するまで直る可能性は極めて低い。そこで、別の方法を考えることになる。
解決策がないので2重ルータに近い運用に変更する
普通はFG4023Bのルータ機能を切り、Archer C80のルータ機能をONにすれば解決する。しかし、なんとFG4023Bのルータ機能はOFFにできないようだ。設定画面を見てもOFFにできそうにない。
それならもう2重ルータ環境で運用するしかなくなる。2重ルータは面倒だから避けたいが、不具合があるならそれどころではない。というかポンコツFG4023Bがなんとかなるまで避けようがない。
この環境でWANからWoLするための設定
そんなこんなで2重ルータに近い環境でWANからWoLする設定を考えることになる。普通にポートフォワーディングを設定するだけではマジックパケットを通せない。
いろいろ考えた結果、FG4023B側にArcher C80へのポートフォワーディングを設定し、Archer C80側にPCへのポートフォワーディングを設定することにする。
今回は手順を簡単に解説するが、以下の記事ではさらに詳しく解説しているので、ぜひあわせて参考にしてほしい。
FG4023B側の設定
- ブラウザのアドレスバーにFG4023BのローカルIPを入力し、ログイン画面にアクセスする
- 管理用ID/PWを入力してログインする
- 上部の[詳細設定]をクリックする
- 左ペインの[LAN]をクリックする
- [静的DHCP – ホームネットワーク]の右下にある[+]をクリックする
- デバイス面のプルダウンをクリックし、[Archer_C80]を選択する
- 表示されたArcher C80のローカルIPを確認する
- [インターネット]タブをクリックする
- [ポートフォワーディング]の右下にある[+]をタップする
- 以下の情報を入力する
- サービス名: 任意(WoLなどと書けばわかりやすい)
- 端末: Archer C80
- LAN IPアドレス: 手順7で確認した値(通常は自動入力されるから確認するだけでOK)
- タイプ: ポート
- プロトコル: UDP
- 公開ポート: 任意(今回は2304)
- 内部ポート: 任意(今回は2304)
- [適用]をクリックする
この設定を行うことで、WANからFG4023Bに着信したマジックパケットがArcher C80に転送されるようになる。
これだけではArcher C80でマジックパケットが止まってしまうため、続いてArcher C80側の設定を行おう。
TP-Link Archer C80側の設定
- ブラウザのアドレスバーにArcher C80のローカルIPを入力し、ログイン画面にアクセスする
- 管理用ID/PWを入力してログインする
- 上部にある[詳細設定]をクリックする
- 左ペインの[ネットワーク]をクリックする
- [DHCPサーバ]をクリックする
- DHCPクライアントリスト内に表示されているWoLで起動したいPCのMACアドレスとローカルIPを確認する
- 後ほど使用するからメモ等に控える
- 左ペインの[NAT転送]をクリックする
- [ポート転送]をクリックする
- [追加]をクリックする
- 以下の情報を入力する
- サービス名: 任意
- デバイスのIPアドレス: 手順6で確認した値
- 外部ポート: FG4023Bの内部ポートに設定した値
- 内部ポート: 任意
- プロトコル: UDP
- [ステータス]をONにして完了
ここで注意したいポイントが、手順10でブロードキャストアドレスを指定しても正常にPCが起動しないという点だ。
Wi-Fi接続でLANからブロードキャストアドレスにマジックパケットを送信すれば正常に起動するが、WANからではなぜか起動しない。
これの解決策はわかっていないので、今回は直接PCのローカルIPを指定する方法を採用することにした。
DDNSの設定
WANからWoLするには、外部からアクセスするためにDDNSを設定する必要がある。
このままではまだ不十分だ。今回はnoip.comを使用したが、他のDDNSでもほぼ同じなので参考にして設定してみよう。
noip.comの場合は以下のように設定する。
- noip.comの公式サイトにアクセスする
- [Sign up]をクリックして登録する
- すでに登録している人は[Sign in]をクリックしてサインインする
- [More Records]をクリックする
- 以下の情報を入力する
- Hostname: 任意の文字列
- Domain: プルダウンから好きなものを選ぶ
- IPv4 Address: 自宅ネットワークのグローバルIP(わからない場合はこのサイトで確認する)
- [Create Hostname]をクリックする
ここで設定したアドレスはWoLアプリに使用するため、必ずメモしておこう。間違えないように注意するのも大事だゾ☆
WoLアプリの設定
続いて外出先からWoLできるように、スマホにWoLアプリをインストールして設定しよう。
今回はWoLOnというアプリを使用した。アプリの設定は以下のとおり。
- [WolOn]アプリをインストールする
- アプリを起動する
- 右下の[+]をタップする
- 雲のマークをタップする
- 以下の情報を入力する
- Device name: 任意
- MAC Address: Archer C80の管理画面で確認したPCのMACアドレス
- Router IP/Hostname: DDNSで登録したアドレス
- Port: FG4023Bの公開ポートに設定した値
- Status check IP/Hostname: 空欄
- SecureOn: 空欄
- 登録されたことを確認して完了
これで全ての設定は完了。動作チェックへ進む。
動作チェック
設定が完了したら早速動作チェックしよう。ちゃんと動くことを確認しておかないといざというときに動かなくて困るかもしれない。
動作チェックは以下の手順で行う。
- PCをシャットダウンする
- スマホをWi-Fiから切断し、モバイルネットワークでインターネットにアクセスする
- [WoLOn]アプリを起動する
- [WAN]をタップする
- 登録したボタンをタップする
正常に設定できていれば、手順5でボタンをタップするとすぐにPCが起動する。問題無く起動すれば成功だ。
サインイン画面が表示されればSplashtopなどのリモートデスクトップが使用できるので、あとはそちらを使用しよう。
これで停電などが発生しても安心だネ☆
その後はまだ停電は発生していない
2重ルータのような環境でWoLできる環境を構築して準備は万全だが、その後停電などは発生していないので活用する機会はまだない。
あくまでも万が一のときのリカバリ手段なので、使わないに越したことはないが…
まあ、WoL自体はさまざまな用途に活用できる。オンラインゲームのアップデート日に外出先からPCを起動してアップデートを実行するなどの使い方もできるかもしれない。
外出中にPCの電源を投入したいと思ったことが一度でもあるなら、この機会にWANからWoLを使えるように設定してしまうことをおすすめする。