Android端末をVPNサーバーとして利用する 総まとめ
- 2019.08.18
- Android
- Android, Android端末をVPNサーバーとして利用する, OpenVPN, Servers Ultimate, VPN, Windows, サーバー, スマートフォン, ソフトウェア, ネットワーク, まとめ
この記事を書いた後に証明書低セキュリティ問題を解決する更新をしたので改めてまとめました。こちらをご覧ください。
Android端末をVPNサーバーとして利用するために色々奮闘した結果、記事が分散してしまっていて非常にわかりにくいので改めてまとめ直します。
Android端末をVPNサーバーとして使うためにServers Ultimateというアプリを使う
Servers UltimateはAndroid端末を様々なサーバーとして使えるようにしてくれるアプリです。
とりあえずProじゃない版お試し版を利用してからPro版を購入しましょう。
本当に様々なサーバー、ツール機能があります。
今の所私が利用しているのは、SMBサーバー、Wake On LANクライアント、VPNサーバー、Dynamic DNS アップデーターといったところです。
もちろんこれ以外にも様々なサーバーが利用できます。使っていないAndroid端末の活用先として最高。だだしroot化が必須です。
DDNSの設定
Servers UltimateでAndroid端末をDynamic DNS アップデーターとして利用して無料DDNSサービスを利用する
ということで使えるように設定していきます。
まず事前にこれを見てDDNSの設定をしておいてください。
固定IPを契約している人は必要ありませんが、一般的には必要だと思います。
Servers Ultimateの設定
Servers Ultimate本体とVPNサーバーに必要なPackをインストールしておいてください。
Servers Ultimateを起動したらServersからADDを押してVPN Serverを選択してください。
開くと英語でなにか書かれているので自前の英語力かGoogle翻訳パワーを活用して読んでください。
GENERAL
SERVER NAME
好みでつけてください。
Start on Bootにチェックを入れてください。
SPECIFIC
Address 1
ここには初期からGoogle Public DNSである8.8.8.8が登録されていると思います。
VPN経由で接続する場合、ここで指定したDNSが利用されるので、好みのDNSを指定してください。
Google AdSenseやアフィリエイトなどブロックされて困る私としては勧めたくありませんが、例えばAdGuard DNS(176.103.130.130)を指定すると広告ブロックできちゃったりします。
DNSブロッキングってやつです。DNSブロッキングの正しい(間違った)使い方です。
ただし、AdGuard DNSは名前解決がGoogle Public DNSなどより若干遅い気がします。
Address 2
Google Public DNSの代替DNSである8.8.8.4が登録されていると思います。
AdGuard DNSの代替DNSは176.103.130.131です。
PROTOCOL TYPE
一般的には高速と言われているUDPのままにしますが、VPN接続が拒否されるような場所でも利用できるようにする場合にはTCPを選択します。
OTHER
Enable compression(comp-lzo)
私は無効にしました。一般的には有効のままでいいと思います。
Enable client to client communication(client-to-client)
必要そうだったので有効に。違いはわかりません。
CLIENT SERVER IP
これはDDNSで設定したドメインを指定してください。
USERS
後々使うので追加。
CLIENT DATAを保存
SPECIFICのCLIENT DATAからSaveしてください。
保存すると英語が表示されるので読んでください。内容はサーバーの設定を変えたらまたSaveし直してねって感じです。多分。
あとは保存し、スタートしポート番号を確認してください。port hogeと書かれているhoge部分です。
ポート開放
AndroidサーバーをIP固定
これを見てAndroidサーバー側のローカルIPを固定してください。
ルーター側の設定
ルーターからポート開放なりポートマッピングなり静的IPマスカレード設定なり書かれているところから設定します。
私のONU(PR-S300SE)の場合、詳細設定→静的IPマスカレード設定から空いているエントリー番号をクリックし、このように設定します。
優先順位は1、宛先IPアドレスは先程固定したAndroidサーバーのIPアドレス、変換対象プロトコルはTCPとUDP両方(一応)、宛先ポートと変換対象ポートは先程確認したポート番号を入力します。変更していなければ1194だと思います。
あとは設定で保存します。
なお、上でVPN接続が拒否される場所でも接続できるようにTCPを選択した場合は変換対象ポートのみ443に設定してください。
.ovpnファイルの編集
CLIENT DATAを保存で保存されたzipファイルを展開すると”client.ovpn”のような.ovpnファイルが存在していると思います。
それを適当なテキストエディターで開き、編集します。
VPN接続が拒否される場所でも接続できるようにプロトコルをTCP、変換対象ポートを443にした人はremote hogehoge 1149のように自宅のドメインとポートが書かれている部分のポート番号を443に変更してください。
また、Windows版OpenVPNクライアントで接続する予定がある人は低セキュリティ接続エラーを回避するため一番下に
--tls-cipher DEFAULT:@SECLEVEL=0
と記述してください。これで一応接続できるようになります。
OpenVPN接続用ツールの利用
Windows版クライアント
ダウンロード
ここからWindows版のクライアントをダウンロードしてください。
あとは起動してインジケーターにあるOpenVPNのアイコンを右クリックし、上で保存し編集した.opvnファイルをインポートするだけです。
接続ファイルのインポートをしてもエラーが発生した場合
.opvnファイルをインポートしたと思いますが、それだけだと.opvnファイルのみインポートされ他のファイルがインポートされていません。
他の.crtやら.keyやらが必要なので、
Users\%UserName%\OpenVPN\config\client
というフォルダーが存在しているはずなのでそこに残りのファイルも全てコピーします。これで動作するはずです。
それでも動作しない場合(MD5とかSHA256とかセキュリティ系っぽいエラーの場合)
これのエラーを回避するために.ovpnファイルに”–tls-cipher DEFAULT:@SECLEVEL=0″と記述しているので、きちんと記述されているかもう一度確認してください。
Android版クライアント
Android版クライアントも公式のものが存在しているのでそちらを使いたいところですが、アップデートで低セキュリティの場合接続できないようになってしまいました。
どうしても解決できなかったので他のオープンソースOpenVPNクライアントを利用することにします。
インストール
このアプリを利用します。
公式ではありませんが、オープンソースのクライアントですし、公式と同じくらい利用されているので問題はないでしょう。
むしろ公式のものよりも高機能で色々できそうです。
使い方
.opvnファイルを利用する場合は右上の箱に↓が書かれたようなマークをタップし.opvnファイルを選択します。
プロファイル名を適当につけます。
.opvnファイルを指定しているのだから証明書の類も設定してくれれば良いのですが、してくれないので自分で指定します。
CA証明書にca.crtを、クライアント証明書にclient.crtを、クライアント証明書のキーにclient.keyを選択し右上のチェックをタップします。
あとは完成したプロファイルをタップし、ユーザー名とパスワードを入力すれば低セキュリティでも接続できるはずです。
VPN接続遅い問題(未解決)
VPN接続が遅い問題を設定変更でいろいろやってみる記事ですが、そこまで効果が無く、原因が他な可能性もあるのでそこまで問題がないこともあり諦めました。
解決法があれば教えて下さい。
低セキュリティ問題(未解決)
VPNの利点の一つにセキュリティが高まるという点があるのですが、この設定で生成される証明書などは低セキュリティなものなので認証周りのセキュリティが弱くなっています。
通信自体はおそらくセキュリティが保たれているとは思いますが、できれば全てのセキュリティを高めたいところです。
ですが、Servers Ultimate側に設定項目はありませんし、おそらくサーバー側の設定ファイルであろうServers Ultimateアプリのシステムフォルダー内のコンフィグファイルを編集したりと色々試しましたがうまいこといきませんでした。だれか教えて下さい。
ということで若干問題は残りつつも実用上では困らないようにVPNを利用することができるようになりました。
VPNを利用することで公衆無線LANなど低セキュリティ回線での接続も多少安全になりますし、自宅経由の接続になるのでLAN内に構築してあるネットワークも有効活用できますし、LINE電話やSIPなど特殊なポートを利用するために接続が拒否され使えなかったような回線でも利用できるようになりました。最高・・・
-
前の記事
[Cities:Skylines]簡単かつ綺麗に並行道路を敷設できる”Parallel Road Tool”の使い方[MOD] 2019.08.17
-
次の記事
個人的各種決済方法と開催中キャンペーンまとめ 2019.08.19