自作VPNサーバーの作り方完全ガイド|AWSクラウド・ルーターでの構築手順と注意点
現代において、VPNはオンライン上の個人情報を第三者の監視から守るために欠かせない存在となっています。業界では各VPNプロバイダーが最高のサービスを提供しようと競い合っていますが、どんなに優れたVPNサービスにも弱点はあります。だからこそ、手持ちの限られたリソースで自分専用のVPNサーバーを作る方法を知っておく価値があるのです。
確かに、自分でVPNサーバーを構築するには多少の手間がかかります。しかし、その大きなメリットは「第三者が一切関与しない」という点にあります。VPNサーバーをセットアップした後は、必ずVPNが正常に動作しているかどうかを確認しましょう。
- Amazon Cloud Services上に自分のVPNサーバーを構築し、クライアントデバイスを設定して利用できます。
- VPN機能搭載のルーターをお持ちなら、家庭内ネットワークにVPNサーバーを設置できます。
- VPN対応ルーターがない場合でも、ルーターのファームウェアを書き換えることで家庭内ネットワークにVPNサーバーを構築可能です。
クラウドでVPNサーバーを作る方法
独自のVPNサービスを構築するのは難しそうに思えますが、クラウドベースのソリューションを使えば簡単です。セットアップは基本的にオンラインフォームへの入力と請求情報の登録だけで完了します。パソコンやルーターの設定に悩む必要もなく、すべて自動的に管理してくれます。
Amazon Web Services(AWS)アカウントの作成
- AWSの公式ページにアクセスし、「AWSアカウントの作成」をクリックします。
- アカウントでログインします。
- 「セキュリティ、ID、およびコンプライアンス」パネルから「サービス」→「IAM」へ移動します。
- 「ユーザー」をクリックし、「ユーザーを追加」を選択します。
- ユーザー名を作成し、「プログラムによるアクセス」にチェックを入れて「次へ」をクリックします。
- 「既存のポリシーを直接アタッチ」をクリックします。
- 検索欄に「admin」と入力して「AdministratorAccess」にチェックを入れ、「次へ」をクリックします。
- 後で必要になる重要なファイルが含まれたCSVファイルをダウンロードします。
Algoの依存関係のセットアップと実行
WindowsパソコンにAlgoをセットアップするには数分かかります。手順を読み、Algoをダウンロードしてコマンドラインでインストール・設定を行いましょう。
Windows 10の場合
- 「設定」を開き、「更新とセキュリティ」へ移動します。
- 「開発者向け」をクリックし、「開発者モード」を有効にします。
- コントロールパネルを開き、「プログラム」へ移動します。
- 「Windowsの機能の有効化または無効化」を開きます。
- 下にスクロールして「Windows Subsystem for Linux」を選択します。
- 「OK」をクリックすると、プログラムがインストールされます。
- パソコンを再起動します。
- 検索ボックスに「Bash」と入力し、Linux Bashがインストールされているか確認します。
- Bashを開き、いくつかの質問に答えながらソフトウェアをインストールします。
- インストールが完了したら、次のコマンドを入力します。
sudo apt-get update && sudo apt-get install python-pip python-setuptools build-essential libssl-dev libffi-dev python-dev python-virtualenv git -y- 続いて、以下のコマンドでリポジトリをクローンします。
git clone https://github.com/trailofbits/algo && cd algo- 次にユーザーリストを作成します。「nano config.cfg」と入力してEnterキーを押します。
- テキストエディタが表示されるので、VPNの使用を許可するユーザー名を入力します。
- リストを保存するにはCtrl+Xを押してエディタを閉じます。
- ターミナルで「./algo」と入力すると、インストールが開始されます。
- Amazon EC2プロバイダーのキーは「2」です。該当する場合は2を入力します。
- VPNの名前を入力します。
- サーバーの場所を選択します(実際の所在地に近いサーバーを選ぶ方が、遠いサーバーよりもパフォーマンスが向上することに注意してください)。
- 次のステップでは、前のセクションでAWSからダウンロードしたCSVファイルを開きます。
- AWSアクセスキーとシークレットキーをコピーし、必要な箇所に貼り付けます。
- 「VPN On Demand」の項目で、Yesを選択すればVPNを自動的に動作させることができます。
LinuxおよびmacOSの場合
以下の手順はMacならどの機種でも使えますが、LinuxについてはDebian Linux専用の手順であることに注意してください。他のLinuxディストリビューションではコマンドが異なります。
- Algoをダウンロードします。
- algo-masterのzipファイルをパソコン上で解凍します。
- Linuxターミナルで「cd」と入力し、algo-masterフォルダをターミナルにドラッグ&ドロップします。
- 以下のような表示になります。
cd /Users/username/Downloads/algo-master- 続けて以下のコマンドを入力します。
Linuxの場合のコマンド
$ sudo apt-get update && sudo apt-get install \
build-essential \
libssl-dev \
libffi-dev \
python-dev \
python-pip \
python-setuptools \
python-virtualenv –ymacOSの場合のコマンド
$ python -m ensurepip –user
$ python -m pip install –user –upgrade virtualenv- 引き続き、以下のコマンドで残りのAlgo依存関係をインストールします。
$ python -m virtualenv –python=`which python2` env &&
source env/bin/activate &&
python -m pip install -U pip virtualenv &&
python -m pip install -r requirements.txtなお、macOSの場合はccのインストールが必要になることがあります。
- 「sudo nano config.cfg」と入力してEnterキーを押し、VPNの使用を許可するユーザーリストを作成します。
- リストを保存するにはCtrl+Xを押します。
- 同じターミナルで「./algo」と入力すると、インストールが開始されます。
- Amazon EC2プロバイダーのキーは「2」です。該当する場合は2を入力します。
- VPNの名前を入力し、サーバーの場所を選択します(実際の所在地に近い場所を選ぶと通信速度が向上します)。
- 前のセクションでAWSからダウンロードしたCSVファイルを開きます。
- AWSアクセスキーとシークレットキーをコピーし、必要な箇所に貼り付けます。
- 「VPN On Demand」でYesを選択してVPNを自動化するか、手動で操作するかを選べます。
VPNを設定して各デバイスをセットアップする
新しいデバイスでVPNをセットアップ・設定するには、プロファイルを作成するだけです。
Appleデバイスの場合
Mac
- configsフォルダ内のalgo-masterフォルダにある.mobileconfigファイルをダブルクリックします。
- インストールが始まり、プロファイルが作成されます。
iOS
- iOSデバイスで.mobileconfigファイルを開きます(メール送信またはAirDropで転送)。プロファイルを設定してVPNに接続します。
- VPNから切断したいときは、プロファイルを削除します。
Androidデバイスの場合
- Google PlayストアからstrongSwan VPN Clientをインストールします。
- configsフォルダ内でP12ファイルを見つけます。
- P12ファイルをAndroidデバイスに転送します。
- strongSwan VPN ClientでP12ファイルを開き、VPNに接続します。
Windowsの場合
- configsフォルダに移動し、PEM、P12、PS1ファイルをコピーします。
- パソコン上の別の場所にファイルを貼り付けます。
- PEMファイルをクリックして「信頼されたルート証明機関」フォルダにインポートします。
- Windows PowerShellを開き、PEM、P12、PS1ファイルを貼り付けたディレクトリに移動します。
- 次のコマンドを入力してEnterキーを押します。
Set-ExecutionPolicy Unrestricted -Scope CurrentUser- PowerShellスクリプト名を入力してEnterキーを押します。
- 最後に、以下のコマンドを入力してEnterキーを押すと、セットアップが完了します。
Set-ExecutionPolicy Restricted -Scope CurrentUserこれでVPNへの接続が完了し、通信トラフィックが保護されます!
VPN対応ルーターでVPNサーバーを作る方法
この方法の前提条件として、VPNルーターとは何か、そして通常のルーターとの違いを理解しておく必要があります。
VPNを最も簡単にセットアップする方法は、VPN対応のルーターを使用することです。ただし、この機能を備えたルーターをお持ちでない場合、この方法は使えません。VPNルーターを持っていない場合の対処法については、この後のセクションで解説します。
- ルーターの設定画面で「VPN」を検索し、対応しているかどうかを確認します。
- 取扱説明書はお持ちですか?ない場合は、ブラウザのアドレスバーに192.168.0.1または192.168.1.1と入力してルーティング設定ページを開き、設定画面のVPNセクションを探します。
- VPNセクションに到達したら、指示に従ってVPNサーバーをセットアップします。
- VPNプロトコルを指定し、ユーザー名とパスワードを入力してVPNを設定します。設定を適用するためにルーターを再起動します。
- 任意のデバイスでVPNを利用するには、ルーターの設定ファイルをダウンロードしてデバイス上で展開します。
ルーターのファームウェア書き換えでVPNサーバーを作る方法
家庭内ネットワークにVPNを構築するもう一つの選択肢が、ルーターのファームウェアの書き換え(フラッシング)です。フラッシングは事前に十分な調査が必要な作業なので、この方法を選ぶ場合は慎重に行いましょう。要するに、VPNホスティングなどの機能を含むオペレーティングシステムをルーターにインストールし、VPNを運用できるようにするのです。
ルーターを書き換える前に、DD-WRTまたはOpenWrtに対応しているかどうか、互換性を必ず確認することをおすすめします。
ルーターのファームウェア書き換え手順
- お使いのルーターに対応したファームウェアをパソコンにダウンロードし、ルーターをパソコンに接続します。
- イーサネットケーブルの一端をルーターのLANポートに、もう一端をパソコンのLANポートに接続します。
- パソコンでお好みのブラウザを開き、ルーターの設定ページにアクセスします。
- ルーターのファームウェアアップグレードセクションへ移動します。
- 最初のステップでダウンロードしたファームウェアを使ってルーターを書き換えます。
- 手順をよく読みながら、慎重にファームウェアの書き換えを行います。
VPNサーバーの作成
- ルーターの設定ページにアクセスし、手順に従って独自のVPNサーバーを作成します。
- ルーターの設定ページでVPNセクションへ移動します。
- VPNプロトコルを有効にします(推奨プロトコル:OpenVPN)。
- ファームウェア書き換え時に選択したDD-WRTまたはOpenWrtに応じて、必要なコマンドを実行します。
VPNサーバーとクライアントのセットアップ
- まず、ルーターのファイアウォール設定を変更して、VPNの inbound 接続を許可します。
- VPNサーバーとクライアント間の安全な通信チャネルを確保するため、証明書を生成します。
- VPNクライアントのプロファイル用に、秘密鍵と証明書を生成します。
- OpenVPNソフトウェアをインストールします。
- 証明書と秘密鍵をVPNクライアントに発行し、プロファイリング処理を完了させます。
- VPNサーバーにアクセスするデバイスに、VPNクライアントプロファイルをセットアップします。
- これで、許可されたVPNクライアントがVPNサーバーに接続できるようになります。
自作VPNサーバーを作るべき理由
現在、数多くのVPNプロバイダーが魅力的な料金プランを提供していますが、それでも自分専用のVPNサーバーを持つべき追加のメリットがあります。
月額料金の節約
自分のVPNサーバーがあれば、毎月口座から引き落とされるVPN利用料をすべて節約でき、VPNの恩恵を受けられます。ただし、キルスイッチ、二重暗号化、マルチホップなど、商用VPNサービスが提供する追加機能は利用できない点には注意が必要です。
どこからでもホームネットワークにアクセス
自宅のルーターにVPNをセットアップすれば、まるで家にいるかのように自宅のリソースを利用できます。自宅のプリンターで文書を印刷したり、個人ファイルにアクセスしたりと、有線接続時に利用できたものは、VPN接続経由でもすべて利用可能になります。
トラッキングの回避
自分のウェブ閲覧履歴をVPNサービスに監視されたくない方は多いはずです。自作のVPNサーバーがあれば、データの安全性を確保できます。ただし、厳格なノーログポリシーを掲げるサードパーティ製VPNサービスをご希望であれば、ExpressVPNなどが選択肢になります。
自作VPNサーバーを作らないほうがよい理由
必ずしも自分でVPNサーバーを構築する必要はありません。信頼できるVPNサービスを利用すれば高いレベルのセキュリティとプライバシーが得られます。特別な理由がない限り、商用VPNで十分なケースも多いのです。
インターネット速度の低下
VPNは強力な味方ですが、平均的な速度の回線では接続が遅くなる可能性があります。
家庭用ルーターはVPNサーバー構築に便利ですが、必要な帯域幅を常に確保できるとは限りません。すでに回線速度が限られている場合、自宅でVPNサーバーを運用するとさらに速度が低下します。
自宅ネットワークのIPアドレスしか使えない
商用VPNプロバイダーが提供する複数のロケーションやサーバーにはアクセスできません。配信ライブラリのロック解除や位置情報ベースのARゲームのジオスポーフィングに最適なサーバーを試すこともできず、利用できるのは自宅ネットワークのIPアドレスのみです。
外部VPN機能が使えない
商用VPNは安全なインターネット通信だけでなく、オンラインプライバシーを保証するさまざまな機能を提供しています。キルスイッチ、二重暗号化、マルチホップなどの機能は、サードパーティ製VPNサービスの基本プランに含まれていることが多く、ウェブ上での安全性と匿名性を高める大きなプラスになります!
まとめ
まずは、本当に自分でVPNサーバーを作る必要があるのか、その理由を優先的に考えましょう。限られたリソースでVPNサーバーを自作する場合、継続的なメンテナンス、リークのチェック、適切な設定など、追加の手間が発生します。それ以外の選択肢として、少し調べれば、妥当な価格で信頼できるVPNサービスを入手することもいつでも可能です。
この記事についてのご意見があれば、ぜひコメント欄でお知らせください。TwitterやFacebookでも議論を歓迎します。
編集部のおすすめ記事:
-
TeamSpeak 3サーバーの作り方|初心者向け簡単セットアップ手順ガイド
TeamSpeakは、複数のユーザー同士がリアルタイムで音声コミュニケーションを行えるよう開発されたアプリケーションです。仕組みとしては会議通話に近く、サーバーをホストする管理者と、そのサーバーへ接続するユーザーという役割分担で成り立っています。主な利用者は、ゲームをプレイしながら仲間と会話したいゲーマーたちです。 ゲーマーがTeamSpeakを利用するには、まず誰か一人が自分のPC上でサーバーをホストし、他のメンバーがそこへ接続する形になります。「難しそう」と感じるかもしれませんが、実際にはそれほど複雑ではありません。インターネット接続環境とPCの管理者権限さえあれば、短時間でサーバーを稼
-
Windows Server 2016でPPTP VPNサーバーを構築する方法【手順付き完全ガイド】
本チュートリアルでは、外出先からでも自宅やオフィスのローカルネットワークリソースに安全にアクセスできるよう、Windows Server 2016をPPTP VPNサーバーとしてセットアップする手順を、初心者にも分かりやすく段階的に解説します。ネットワークカード(NIC)が1枚搭載されたWindows Server 2016環境で、どこからでもサーバーや共有ファイルへ接続したい方は、ぜひ最後までご覧ください。※補足: PPTPは設定が簡単な反面、暗号化強度が低いという特徴があります。よりセキュリティの高いVPN環境が必要な場合は、「カスタム事前共有キーを使用したL2TP/IPsec VPNサー