IPv6プラス環境でもハンドヘルドゲーム機でPS5を外出先から非純正アプリでリモートプレイしたくて自宅にVPNサーバーを立てた話【実践編】
簡単に自己紹介
エンジニアの端くれとして、WindowsPCは私物と会社で毎日触っている。pingとdismとdiskpartくらいしか普段使わない。CCNAを取得から3年経過して、普段の業務で使うネットワークの基本的な知識意外はほとんど忘れた。
自分でやったことを記録として残しておくとともに、世界に一人くらい自分と同じことがしたいと考えている人がいるかもしれないので、その人の役に立てれば……という思いです。実際にあれやこれやと弄ってる間に記録は取っていなかったので、少し曖昧な部分があるかもしれませんが。
ベテランエンジニアの方から見たら「そんな面倒なことしなくてもこっちの方法で出来るのに……」とか「お前これセキュリティ的にヤバくない??」という点があると思います。もしも知識ある方がいらっしゃればご指摘いただけると大変ありがたいです。
なんでこれをやろうと思ったかは前回の記事に書いてます。
では、早速やっていきましょう。
◆Windows11のPCでSoftEtherを使ってVPNサーバーを建てよう
・ネットワーク環境
現在の状態
今回のゴール
本当の本当のゴールはVPNサーバーをRaspberry Pi4+CentOSにすることですが、いったんはWindows11のPCで実現しようと思います。
・事前準備
1.自宅で余っているWindows11のPC
みんな家にあるよね?
2.PPPoE接続のための余っているプロバイダ情報
v6プラスの契約に切り替える前はInterLinkを契約していて、v6プラス契約に変更して解約しても良かったのだが、メールアドレスを使いたくて契約を残していた(InterLinkはメールアドレスだけ数百円で使えるプランなどが無い)。
残しておいたおかげで今回使える。ラッキー。
※もしかしたら不要かも?最後に詳細を記載します。
3.USB接続してLANケーブル指すやつ
普通にお店に売ってるバッファローの
https://www.buffalo.jp/product/detail/lua5-u3-agte-bk.html
4.なんとかしようと努力するメンタル
たぶんこれ一番大事です。
やっていきまっしょい。
手順1.Windows11のPCにSoftEtherをインストールする
下記のサイトより、SoftEtherのインストーラーをダウンロードして実行します。
インストールするソフトウェア一覧が表示されたらSoftEther VPN Serverを選択します。
手順2.NICの設定変更
まずはWifiをオフにして有線LANのみ使用出来る状態にする。
次にコントロールパネルのから「新しい接続またはネットワークのセットアップ」→「ブロードバンド(PPPoE)」を選択し、契約しているプロバイダーの情報を入力して接続を確立。
設定完了後、ipconfigやグローバルIPアドレスを表示させるサイトなどで確認し、v6プラスルーター直下にあるPCと違うIPアドレスで通信できていればOKと判断しました。
※ここのくだりは冒頭でも記述した通り不要かも?最後に詳細記載する。
手順3.SoftEtherを使用してVPNサーバーを立てる
・サーバー名称はlocalhost、仮想HUBの名前は適当に「VPN」で新規作成。
※外部に公開はしないので「匿名ユーザーに対してこの仮想HUBを列挙しない」にチェックを入れる。
・ユーザーはテスト用にiPhoneから繋げる用と実際にOdin2から繋げる用で2つ作成した。
・DHCP機能をオンにする。仮想HUBの管理画面から"仮想NATおよび仮想DHCPサーバー機能"→"SecureNATの設定"
わかりやすいように仮想ホストのIPを192.168.30.1で固定し、192.168.30.10~200まで割当にしてみた。PS5のIPやらodin2で接続するときのIPやらを手動で設定するならたぶんやらなくて良いか?と一瞬思ったけどどうなんだろう……
手順4.PS5を接続し正しく動作するか確認する
・PS5を有線接続するためのUSB接続LANアダプターをPCに挿入し、ローカルブリッジ設定をする
・SoftEther側でローカルブリッジ設定を行う
その後PS5を接続。DHCPサーバーが正常に機能していれば、192.168.30.xxxのIPが自動で割当されるはず。
念のためネットワークテストを行って問題ないか確認する。
手順5.Android端末でVPN接続
Android標準機能でのVPN設定のうち、L2TP/IPsecでの接続が今のバージョンでは出来なくなっているらしい。代替え手段としてOpenVPNのアプリを使用して接続する方法があるとのことでそっちでやってみることに。
※iPhoneはOS基本機能で設定も出来るが、結局は同じ方法でやったほうが良さそう。
"OpenVPN / MS-SSTP設定"の下のボタンから設定ファイルを自動生成。
Odin2にOpenVPNのアプリをインストールし、先ほどの設定ファイルをインポートする。
作成したユーザーのうちAndroidの方で接続。正常に確立できたらDHCPサーバーで指定した範囲で割り当てられているはず。
手順6.PS5にリモート接続
WifiオフにしたiPhoneでテザリングしOdin2を接続、OpenVPN接続状態でPXPlayでローカル接続で……接続できた!!!うおおおお!!!!!!
※肝心の接続画面が映っていませんが、iPhoneでテザリング+VPN接続した状態です。接続直後はタッチコントローラーが表示されますが、一度消えてしまった後は画面をタッチさえしなければ再表示されません。
※必要だと思ってやったけどいらなかった手順
・Windows11のファイアウォールで通すポートの設定
→最終的にローカルネットワーク上で動作するからいらなかった。
追記 2024/11/23
実際にホテルで操作してみた。ホテルのWifiに接続して、fast.comで速度測定した結果はVPNに接続してもしなくても下り25~30Mbpsくらい。
格ゲーも4フレームくらいの遅延で遊べる。PS3時代の熱帯くらいの感じ。
メタファーのダンジョン操作のアクションくらいなら全然余裕!
補足:追加で調査が必要な事項
1.PPPoE設定いらないのかも?
IPv6環境のままPPPoE設定せずに使えるのかも……?
詳しく書いていらっしゃる記事を見つけたので要検証
2.PPPoE設定をしたままにしておける時間に制限がある?
ここに記載した状態で4~5日程度経過すると、PPPoEのネットワークアダプターが有効に出来なくなってしまい削除して再作成しなければならない状態になってしまった。再作成すると元通りになる。
PC本体にPPPoE設定するのはWindowsMEが入ってた実家のPCぶりなので、いかんせん知識が全く無いので原因がわからない。
プロバイダから自分に対して割り当てられたグローバルアドレスのリース期限切れになったとか?一日に一回PPPoEのアダプターの有効無効を切り替えれば再発しなくなるのかなど、この後も調べていきたい。
◆おわりに
ということで、自宅にVPNサーバーを立てた話でした。
本当に素人に毛が生えた程度の知識ですし、間違ったことをドヤ顔で話している可能性もありますので、本記事を読まれたベテランエンジニアの皆様におかれましては間違った箇所があればぜひご指摘いただきたいです。
とりあえず月末の出張が終わったら、補足事項の部分を調査していきたいと考えています。