ヤクとアヒル

日常の問題を解決したときにつけるログ

出先からスマホで艦これを快適にプレイする:NECのルータ(Aterm)を利用して出先からWake On LANでPCを起動

要約

既存のソフトウェアを使えば,出先から自宅のPCを起動し,遠隔操作で艦これをプレイすることは容易です.しかしそのようなソフトウェアを紹介している記事のほとんどがPCの常時起動が前提です.本記事では,NECのルータの機能を使ってPCの常時起動を避ける方法を紹介します.

本記事の対象

「出先からリモートデスクトップ接続で自宅のPCで艦これを動かし,手元のスマホタブレットから艦これをプレイしたい」けど「PCを常時起動しておくのが嫌」な提督向け.
本稿で示す解決策は限定的で,以下の二つの条件を満たしている場合にのみ成功します.

  • Atermシリーズの最近のルータ(例えばWR8750N)を持っている
  • ルータのWAN側にグローバルIPを持っている(意味がわからなくても調べ方を後述します)

注意事項

私はプライベートIP契約(後述)なので,実際には成功していません(しかもドメインをとってから気づきました.こういう悲劇を無くすためにこのエントリを書きました).理屈と,成功した友人の話を元に書いています.その点に注意して下さい.また誤りがあればご指摘をお願いいたします.


緒言:外出先からスマホ艦これがしたい!

艦隊これくしょん』というブラウザゲーが流行っています.このゲームはFlashを使って動いています.しかし,iPhoneAndroidでは基本的にFlashを再生することはできません.
しかし,ちょっとしたお出かけにノートPCを持っていくのはめんどうですね.なんとかスマホタブレットなどの携帯端末で艦これをプレイしたい.そんな提督のために,不肖の身ながらわたくし基素(呉鎮守府新米中佐)がご説明いたします.

スマホタブレット艦これは出来る!しかしスペックの問題がある

要はFlashが動けば『艦これ』をプレイすることができます.そこでいろいろな抜け道が考えられています.Androidであれば例えば次の記事が参考になります(ただしキャッシュの少ないスマートフォンなどからのプレイはサーバに負荷をかけるおそれがあるので避けるのが良いマナーだと思います).

問題は,現在のスマホタブレット(端末)のスペックでは少々動作が重いということです.

スペックが足りないならPC使えばいいじゃん:PC常時起動の壁

そこで,外出先の端末から自宅PCを操作して処理することを考えます.自宅のPCのディスプレイの映像が,スマホなどの端末に表示されている状態を想像して下さい.このような形態をリモートデスクトップと呼び,実現するためのソフトウェアがいくつも存在します.
例えば以下の記事で詳細に解説されています(わたしも参考にさせて頂きました).

4Gamer.netの記事ではリモートデスクトップソフトに「TeamViewer」を使い,出先で端末から自宅のPCにアクセスしています.これは出先からでも無料で使えるのがいい点です.補足すると,類似アプリの「Splashtop」を使えばより遅延が少なく快適にプレイできます.ただし,こちらは出先から接続する場合月額200円程度かかります*1(これを回避する方法を記した記事へのリンクを脚注に示しました).
しかしまだ問題があります,PCが常時起動していなければいけません*2艦これをやるときのみPCの電源を入れたいという人はこの問題をどうにかしなければいけません.本記事ではこれを解決します

じゃあ,どうするの

NECのルータであるところのAtermシリーズには(少なくとも最近のモデルには)Wake on LANを実現するための機能がついていて,出先からPCの電源を入れることが可能です.そして一度PCが立ち上がってしまえばSplashtopを使ってPCの遠隔操作が可能です.PCでブラウザを立ち上げ『艦これ』をやればいいのです.

実現手順:何が必要で,何をやればいいのか

使用機材

  • ルータ:Aterm WR8750N(PA-WR8750N-HP)
  • PC:有線で接続しているPC(イーサネットケーブルが刺さっているPC)
  • アプリ:Splashtop
  • 費用:月額200円程度
    • 「Splashtop」ではなく「TeamViewer」をつかえば無料.ただし,やや動作が遅くなる.
    • ドメインを取得する場合(後述)は別途その費用がかかる.

ルータはWake On LANに対応していればなんでもOKです.実は明示的にそのような機能がなくても,少し複雑な設定をすれば可能のようですが私は試していないので書けません.ルータは1つだけ使われているという状況を想定しています.

手順

  1. 回線の契約を確認する:回線の種類によってそもそも不可能
  2. ルータの設定をする
  3. PC側(ネットワークカード,BIOS)の設定をする
  4. 起動テスト

実際にやってみる

上記手順を詳細に説明します.私の環境は上記ルータを使用し,OSはWindows 7なのでこの環境下での説明になります.

1 回線の契約を確認する

結論から言うと,プライベートIPアドレス契約*3の方(マンションなどに多い)はそもそも出来ません.逆に言えば,手元にモデムがあるような方はすぐ出来ます.
プライベートアドレス契約の形態については以下のサイトの図が参考になります.

さて,自分がプライベートアドレス契約なのか確認する方法は以下のサイトを参照に進めます.

確認するためにははルータにアクセスして設定を見るだけです.詳細は各ルータのマニュアルを確認して下さい.
WR8750Nの場合,以下の手順でアクセスできます.

  1. ネットワークアドレス体系(ルータ以下の機器にわりあてられたローカルのIPアドレス)を確認
  2. IPの下三桁を211に変更した数字へブラウザからアクセス

順を追って説明していきましょう.

1.1 ネットワークアドレス体系を確認する

アドレス体系ってなんのこっちゃですが,ひとまずはIPの表現形式192.168.123.456(X.Y.Z.456)のX.Y.Zのことと理解しておけばOKです*4
まず,「Windowsキー(キーボード左下のウィンドウズのマーク)」と「rキー」を同時に押すと出現する以下のダイアログに,「cmd」と打ち込み,コマンドプロンプトを開きます.
f:id:motoso:20130907203957j:plain

コマンドプロンプトから「ipconfig /all」と打ち込みます*5
f:id:motoso:20130907203946j:plain

すると文字列がガーッと出て来ますので「イーサネット アダプター」などという文字列を探します.そしてIPv4アドレスを確認します.
f:id:motoso:20130907204015j:plain
メモしておくこと

1.2 IPの下三桁を211に変更した数字へブラウザからアクセスする

ローカルのIPは192.168.129.33でしたので,下三桁を変更し,192.168.129.211をブラウザに打ち込みますと,ダイアログが出てくるのでユーザ名とパスワードを入力してログインします.わからなければ取扱説明書を見ましょう.
さて,ルータにアクセスできたら左のタブから,
情報 > 現在の状態
をクリックします.すると次のような画面が出てくるのでWAN側のIPを確認することができます.
f:id:motoso:20130907204128j:plain

もしこれが192,172,10から始まっている場合おそらくプライベートIP契約なので*6残念ながらWOLで遠隔起動することはできません.解決策はここから先を読んでも書いてありません.回線を変えればいいのですが,さすがに割が合わないので,他の手段を探しましょう(PCを常時起動するとか!)

小休止:現在の状況の確認

[スマホ]-|-[ルータ]-|-|-[PC]
現在の状況の概念図を示します.スマホからルータを中継してPCに接続するということをしたいのですが,現状ではまだ障害がのこっています(図で「|」は障害があるということです).
これら3つの障害を以下の手順(2,3節)に従い取り除いていきます.

2 ルータの設定をする

さて,グローバルIPを手に入れたみなさんは,めんどくさい手順を踏むだけで外部から艦これできます.

  1. 端末名設定:起動するPCの登録
  2. PCリモート起動設定:ポートの指定
  3. ホームIPロケーションの設定
2.1 端末名設定 / PCリモート起動設定

以下のドキュメントの「設定方法」に沿って設定します.

メモしておくこと

  • ルータのポート番号(初期値のままなら8080)

ここまでの状況
[スマホ]-|-[ルータ]--|-[PC]
ここまででルータからPCに送る準備ができました.次に端末(スマホタブレット)からルータにアクセスするための準備を行います.

2.2 ホームIPロケーションの設定

ホームIPロケーション機能という機能を使って,端末から直接ルータにアクセスする方法をとります.ドメインを取得している場合の方法については記事の末尾に別途示します.
基本的な設定方法は以下のドキュメントに沿います.「設定方法」に従い設定します.

メモしておくこと
情報 > 現在の状態の「ホームIPロケーション名」
「hogehoge.home-ip.aterm.jp」みたいなやつです.

ここまでの状況

[スマホ]--[ルータ]--|-[PC]
ここまでの状況の概念図を示します.スマホからルータを中継してPCに接続するということをしたいのですが,現状ではまだ障害がのこっています(図で「|」は障害があるということです).
これら3つの障害を以下の手順に従い取り除いていきます.

このホームIPロケーション名と,2.1でメモっておいたポート番号(仮に8080とする)を使って

http://hogehoge.home-ip.aterm.jp:8080

とすることでスマホからルータにアクセスすることができるようになりました.あと一息です.
次はルータから命令されるPC側の準備を行います.準備ができてないときに命令されてもできませんよね.

3 PC側(ネットワークカード,BIOS)の設定をする

以下に示す記事を参考にネットワークカードとBIOSの設定をします

具体的には,「操作方法」節のうち「Windows OSでの設定」および「BIOSUEFIセットアップにおける設定」を行って下さい.「マジック・パケット送信ツールのセットアップ」は必要ありません(今回は,これをルータがやってくれる).

ここまでの状況

[スマホ]--[ルータ]---[PC]
ついにすべての障害がなくなりました.

4 起動テスト

PCの電源を落とし,スマホのブラウザ(Safariとか)から「http:[ホームIPロケーション名]:[ポート番号]」にアクセスします.2.1,2.2節での設定を例に取ると以下のようになります.

http://hogehoge.home-ip.aterm.jp:8080

これで起動ボタンを押せば,2.1節でMACアドレスを指定したPCが起動するはずです.
一度起動してしまえばSplashtopを使ってiOSAndroid端末などから自宅PCをコントロールできます.
よい鎮守府ライフを.轟沈だけは勘弁な!

番外編:ドメインを取得してルータにアクセスする(月額料金がかかります)

上述のようにホームIPロケーションという便利な機能を使うと,ドメインを取得しなくてもプレイはできますが,ドメインを持っている場合それつかってみたいよねということで,以下の手順に従い解説していきます.

  1. ドメインの取得
  2. ネームサーバの設定
  3. ルータの設定

ドメインの取得:お名前.com

今回はお名前.comでドメインを取得しました.これはサイトに行けばできるので登録して下さい.安いので.infoとかオススメ.初期費用は安くても更新費用が高くなることが多いので料金プランをよく確認してください.

ネームサーバの設定

登録後,ログイン画面下部の「ネームサーバー」をクリック
f:id:motoso:20130907204216j:plain
DNSレコード > ドメイン名 を選択し,「入力画面へ進む」をクリック
さらに,以下の順にクリックしていきます.
ネームサーバの設定 > DNS関連機能の設定 > DNSレコード設定を利用する
f:id:motoso:20130907204234j:plain

ここでホスト名を追加する場合,グローバルIPアドレスが必要になるので,例えば以下のサイトで確認します.

仮に123.456.7.890が得られたとして話を進めます.適宜自分のグローバルIPに読み替えて下さい.
下図に入力すべき項目を赤色で注釈しました.ホスト名入力欄には何も記入せず(もしホスト*7を追加する場合,ホスト名を入力します),かつグローバルIP入力欄に123.456.7.890を入れ,追加ボタンを押します.
次にネームサーバー設定変更のチェックボックスを入れ,確認画面へ進んで下さい.
(注:この画面は既に設定済なので,水色の項目が表示されています)
f:id:motoso:20130907204246j:plain
確認して決定すれば,設定は終了です.

ルータの設定

ルータにアクセスし,以下をクリックします.
詳細設定 > DDNS設定
すると以下の様な画面が出てきます.
f:id:motoso:20130907204300j:plain
ここに先ほど設定した情報を入力すれば設定は完了です.

ルータ設定画面で,
情報 > 現在の状態 > DDNS更新状態 が「更新成功」となればOKです.

何をやっていたのか?:DNSの仕組みを「超」おおざっぱに理解

ウェブサイトにアクセスするためには,住所の役割を果たすサーバのグローバルIPアドレスがわからなければなりません.しかし,グローバルIPアドレスは普通個人の環境ではよく変わります(ルータが再起動すると変化することも).変わるたびにいちいち「今日は123.456.7.890にアクセスしなければ」「あっ,今日は234.567.8.901にアクセスしなければ」となるのは大変負担になってしまいます.
そこで,とりあえず固定の窓口を作り,閲覧者にはそこにアクセスしてもらい,窓口にはサイトの住所が変わる旅に絶えず「住所がxxx.xxx.xxx.xxxへ移転した」と連絡する方式を考えます.こうすれば閲覧者は固定の窓口にサイトの住所を聞くことで,いつでも正しい住所へアクセスできます.ドメインというのは,この窓口のことです.
さて,ではドメインにサーバのグローバルIPアドレスを教えるのは誰がやっているのでしょうか,今の場合ルータがやっています.定期的にネームサーバ(窓口はこれに書き込んである住所を閲覧者に教える)にグローバルIPアドレスを教えているのです.
今の場合,ルータにお名前.comのIDとpasswardを入力しているので,どのお名前.comのネームサーバにルータが自分で持っている情報(グローバルIPアドレス)を送るかわかっているのです.ルータは定期的にネームサーバーにグローバルIPアドレスを書き込みます.
参考サイトの図と共に理解するのが楽でしょう.

参考:
DNSの仕組みと運用(1):DNSの仕組みの基本を理解しよう - @IT

更新履歴

  • 2013年9月9日 21:10 4Gamer.netの記事との差異を明らかにするため追記
  • 2013年9月21日 18:32 「要約」の追加

*1:LAN環境なら無料なので,VPNで仮想的にLAN環境を構築すれば無料で使えます.これが4Gamers.netの記事でやろうとしたが没になったというものです.記事ではYAMAHAのルータを使ってこの問題を克服しましたが,全員がそんなルータ持ってないという理由でボツになっています.しかし実はもっと簡単にできるようです.詳しくは→SoftEther VPNでOpenVPN/IPsecが簡単にできた - You give me all I need.

*2:スリープでもダメで,起動状態にする必要があります

*3:プライベートIP契約とは?: ざっくり説明すると,管理会社がルータを持っていて,そのルータから分配したケーブルを各家庭に配置するような形式です.何が問題かといえば,ポートの開放が自由にできません.イメージでいえば,壁にお外とつながる穴を開けられないということです.つまりそもそも外から指令を与えられない.

*4:ちなみに192.168はプライベートアドレス用みたい:なぜ「192.168.x.x」のアドレスを使う?

*5:各項目の詳細については以下のサイトを参考にするとよいでしょう: ipconfig~Windowsのネットワーク設定を確認

*6:参考:プライベートIPアドレス

*7:例えばドメインがmyserver.infoの状態でホストをkancolleにした場合.そこへアクセスするためのURLはhttp://kancolle.myserver.infoとなります

スポンサーリンク