#はじめに
AndroidでPCゲームがしたい!!
そんな夢を叶えてくれるのがSteamLink.
しかしSteamLinkは同一ネットワーク内,所謂ローカルIPの末尾以外が同じ相手でしか使用できません.
そこで外部ネットワーク(自宅以外のWiFiなど)から接続するために**VPN(Virtual Private Network)**を使います.
家に昔使っていたデスクトップPCが余っていたので今回はUbuntu18.04をインストールしてサーバとしました.
本記事は下記の記事を参考に躓いた点を追記していきます.
- 自分だけのVPNサーバを作る!Ubuntu 18.04 に SoftEther VPN Serverをインストール
- ubuntu18 に softether vpn をインストールして android から繋いでみる
#使用環境
サーバ用PC | ゲーム実行用PC | Android | |
---|---|---|---|
OS | Ubuntu18.04LTS | Windows10 | Android 9 |
CPU | i7-4770 | Ryzen 3900X | Snapdragon845 |
RAM | 24GB | 32GB | 6GB |
+ これらを繋ぐルータ(LAN)
#使用ソフト・アプリケーション
- サーバ
- ゲーム実行用PC
- Steam
- Android
- SteamLink
#導入方法
VPNサーバの導入は自分だけのVPNサーバを作る!Ubuntu 18.04 に SoftEther VPN Serverをインストールを元に追記したいと思います。
##makeの追記
参考記事のとおりコピペしてしまうとvpnserverというファイルができてしまい,困惑するかもしれません.一度上の階層に移動し,解凍したフォルダを直接移動するという点が注意です.
$ cd vpnserver/
$ make
ライセンスを読んで、同意するなら `1` と `Enter` を数回入力
$ cd ..
--追記 解凍したフォルダごと移動することに注意
$ sudo mv vpnserver /usr/local
$ cd /usr/local/vpnserver/
$ sudo chmod 600 *
$ sudo chmod 700 vpncmd
$ sudo chmod 700 vpnserver
##Port開放の追記
参考記事内ではファイアウォールの設定とPort開放が混同されていると感じましたので,ここでは分けて説明します.
- Port
- LAN内のプロトコル(ルール)を制御する門のようなもの.ネットワークに作用する.
- 本記事においてはルータの設定に関係する.
- ファイアウォール
- コンピュータを守るための門のようなもの.自身(コンピュータ)に作用する.
- 本記事においてはVPNサーバに関係する.
参考記事に記載されているufw(Uncomplicated FireWall)コマンドはファイアウォールの設定です.
VPNを実現するためには,ファイアウォールの設定とルータのポート開放も必要になります.ルータのポート開放については各ルータによって異なるため,ご自身で調べていただけると幸いです.ポート開放をするにあたってVPNサーバのローカルIPを固定する必要があることにご注意ください.
##開放するPort番号
- TCP
- 5555 : デフォルトのリスナーポート
- 443 : デフォルトのリスナーポート
- 992 : デフォルトのリスナーポート
- UDP
- 1194 : OpenVPNを使う場合
- 500 : L2TP/IPsecを使う場合
- 4500 : L2TP/IPsecを使う場合
以降は参考記事のとおり導入してください.
##Deamonの登録
Linuxでは常駐プロセスのことをデーモン(deamon)といいます.
$ sudo /usr/local/vpnserver/vpnserver stop
$ sudo vi /etc/systemd/system/vpnserver.service
viエディタが起動するのでaキーで入力モードにし,以下を入力します.
[Unit]
Description=SoftEther VPN Server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/vpnserver/vpnserver start
ExecStop=/usr/local/vpnserver/vpnserver stop
[Install]
WantedBy=multi-user.target
ESCを押した後:wqで保存します.
$ sudo systemctl daemon-reload
$ sudo systemctl enable vpnserver.service
$ sudo systemctl start vpnserver.service
#AndroidからVPNサーバへ繋ぐ
- 設定からVPNの設定を探す.
- VPNの設定を追加し名前を適当につける.
- タイプを
L2TP/IPSec PSK
にする. - サーバアドレスはグローバルIPを入力
- IPsec事前共有キーはVPNサーバで設定した共通キーを入力
- 登録したユーザ名とパスワードをそれぞれ入力
- 接続
繋がらないときはPort開放やVPNサーバのファイアウォール設定,入力間違いなどを確認してみてください.
繋がった場合,通常どおりSteamLinkを起動すると同一LAN内のゲーム実行用PCが認識されるはずです.
#まとめ
SoftEther VPNを使ってUbuntu18.04でVPNサーバを建てました.
VPNサーバを利用するためにはPort開放とファイアウォール設定の二つが必要です.
Port開放を行う前にVPNサーバのローカルIPを固定する必要があります.
接続にはグローバルIPを使います.
これでAndroidでいつでもPCゲームができるようになりました!
もちろんPCゲーム以外の用途でも利用可能です.
最後にもう一度参考にした記事を記載します.
参考記事