Android端末をVPNサーバーとして利用する 総まとめ

Android端末をVPNサーバーとして利用する 総まとめ 完全版

この記事を書いた後に証明書低セキュリティ問題を解決する更新をしたので改めてまとめました。こちらをご覧ください。

Advertisement

Servers UltimateでAndroid端末をVPNサーバーとして利用する

Android端末をVPNサーバーとして利用するために色々奮闘した結果、記事が分散してしまっていて非常にわかりにくいので改めてまとめ直します。

Advertisement

Android端末をVPNサーバーとして使うためにServers Ultimateというアプリを使う

Servers Ultimateを利用してAndroid端末を各種サーバーにする

Servers UltimateはAndroid端末を様々なサーバーとして使えるようにしてくれるアプリです。

とりあえずProじゃない版お試し版を利用してからPro版を購入しましょう。

本当に様々なサーバー、ツール機能があります。

今の所私が利用しているのは、SMBサーバー、Wake On LANクライアント、VPNサーバー、Dynamic DNS アップデーターといったところです。

もちろんこれ以外にも様々なサーバーが利用できます。使っていないAndroid端末の活用先として最高。だだしroot化が必須です。

余っているAndroid端末の活用

DDNSの設定

Servers UltimateでAndroid端末をDynamic DNS アップデーターとして利用して無料DDNSサービスを利用する

ということで使えるように設定していきます。

まず事前にこれを見てDDNSの設定をしておいてください。
固定IPを契約している人は必要ありませんが、一般的には必要だと思います。

Advertisement

Servers Ultimateの設定

Servers UltimateでAndroid端末をVPNサーバーとして利用する

Android端末で建てたVPNサーバーを何故か接続できない所で接続できるようにする記事

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部分です。

Advertisement

ポート開放

AndroidサーバーをIP固定

各種ネットワーク機器側でIPアドレスを固定する

これを見てAndroidサーバー側のローカルIPを固定してください。

ルーター側の設定

Android端末で建てたVPNサーバーを何故か接続できない所で接続できるようにする記事 完全解決編

ルーターからポート開放なりポートマッピングなり静的IPマスカレード設定なり書かれているところから設定します。


私のONU(PR-S300SE)の場合、詳細設定→静的IPマスカレード設定から空いているエントリー番号をクリックし、このように設定します。
優先順位は1、宛先IPアドレスは先程固定したAndroidサーバーのIPアドレス、変換対象プロトコルはTCPとUDP両方(一応)、宛先ポートと変換対象ポートは先程確認したポート番号を入力します。変更していなければ1194だと思います。
あとは設定で保存します。

なお、上でVPN接続が拒否される場所でも接続できるようにTCPを選択した場合は変換対象ポートのみ443に設定してください。

.ovpnファイルの編集

Android端末で建てたVPNサーバーを何故か接続できない所で接続できるようにする記事 完全解決編

Android端末で建てたVPNサーバーをWindowsで利用して自宅PC共有ドライブに接続するために奮闘する記事

CLIENT DATAを保存で保存されたzipファイルを展開すると”client.ovpn”のような.ovpnファイルが存在していると思います。

それを適当なテキストエディターで開き、編集します。

VPN接続が拒否される場所でも接続できるようにプロトコルをTCP、変換対象ポートを443にした人はremote hogehoge 1149のように自宅のドメインとポートが書かれている部分のポート番号を443に変更してください。

また、Windows版OpenVPNクライアントで接続する予定がある人は低セキュリティ接続エラーを回避するため一番下に

--tls-cipher DEFAULT:@SECLEVEL=0

と記述してください。これで一応接続できるようになります。

Advertisement

OpenVPN接続用ツールの利用

Windows版クライアント

Android端末で建てたVPNサーバーをWindowsで利用して自宅PC共有ドライブに接続するために奮闘する記事

ダウンロード

ここからWindows版のクライアントをダウンロードしてください。

あとは起動してインジケーターにあるOpenVPNのアイコンを右クリックし、上で保存し編集した.opvnファイルをインポートするだけです。

接続ファイルのインポートをしてもエラーが発生した場合

.opvnファイルをインポートしたと思いますが、それだけだと.opvnファイルのみインポートされ他のファイルがインポートされていません。

他の.crtやら.keyやらが必要なので、

Users\%UserName%\OpenVPN\config\client

というフォルダーが存在しているはずなのでそこに残りのファイルも全てコピーします。これで動作するはずです。

それでも動作しない場合(MD5とかSHA256とかセキュリティ系っぽいエラーの場合)

これのエラーを回避するために.ovpnファイルに”–tls-cipher DEFAULT:@SECLEVEL=0″と記述しているので、きちんと記述されているかもう一度確認してください。

Android版クライアント

Android用公式OpenVPNクライアントで接続できなくなった場合の解決法

Android版クライアントも公式のものが存在しているのでそちらを使いたいところですが、アップデートで低セキュリティの場合接続できないようになってしまいました。

どうしても解決できなかったので他のオープンソースOpenVPNクライアントを利用することにします。

インストール

このアプリを利用します。

公式ではありませんが、オープンソースのクライアントですし、公式と同じくらい利用されているので問題はないでしょう。
むしろ公式のものよりも高機能で色々できそうです。

使い方

.opvnファイルを利用する場合は右上の箱に↓が書かれたようなマークをタップし.opvnファイルを選択します。

プロファイル名を適当につけます。

.opvnファイルを指定しているのだから証明書の類も設定してくれれば良いのですが、してくれないので自分で指定します。

CA証明書にca.crtを、クライアント証明書にclient.crtを、クライアント証明書のキーにclient.keyを選択し右上のチェックをタップします。

あとは完成したプロファイルをタップし、ユーザー名とパスワードを入力すれば低セキュリティでも接続できるはずです。

Advertisement

VPN接続遅い問題(未解決)

Android端末で建てたVPNサーバーを高速にするために奮闘する記事

VPN接続が遅い問題を設定変更でいろいろやってみる記事ですが、そこまで効果が無く、原因が他な可能性もあるのでそこまで問題がないこともあり諦めました。

解決法があれば教えて下さい。

低セキュリティ問題(未解決)

VPNの利点の一つにセキュリティが高まるという点があるのですが、この設定で生成される証明書などは低セキュリティなものなので認証周りのセキュリティが弱くなっています。

通信自体はおそらくセキュリティが保たれているとは思いますが、できれば全てのセキュリティを高めたいところです。

ですが、Servers Ultimate側に設定項目はありませんし、おそらくサーバー側の設定ファイルであろうServers Ultimateアプリのシステムフォルダー内のコンフィグファイルを編集したりと色々試しましたがうまいこといきませんでした。だれか教えて下さい。

Android端末をVPNサーバーとして利用する 証明書低セキュリティ問題解決編

Advertisement

ということで若干問題は残りつつも実用上では困らないようにVPNを利用することができるようになりました。

VPNを利用することで公衆無線LANなど低セキュリティ回線での接続も多少安全になりますし、自宅経由の接続になるのでLAN内に構築してあるネットワークも有効活用できますし、LINE電話やSIPなど特殊なポートを利用するために接続が拒否され使えなかったような回線でも利用できるようになりました。最高・・・