【Raspberry Pi】RaspAPとOpenVPNを使ってVPNクライアントルーターを作成する

VPNクライアントルーターを作成することで、例えばテレビやゲーム機など、VPNアプリをインストールすることができない端末でもVPN経由でアクセスできるようになり、より効率的にセキュリティとプライバシーを確保したり、柔軟にVPN接続の切り替えを行うことができます。

本記事では、Raspberry PiでRaspAPとOpenVPNを使って、VPNクライアントルーターを作成する方法を紹介します。

なお、VPNサーバーはNordVPNを利用したいと思います。

システム構成

今回構築するシステム構成は以下の通りです。

VPNクライアントルーターとして機能させるRaspberry Piを普段使っているルーターと有線接続を行い、VPN経由でアクセスしたい端末はRaspberry Piが発信するWi-Fiにアクセスします。

上記の構成のメリットとして、VPNに接続する必要のない端末は普段使いしているルーターに接続することができるということが挙げられます。

例えば「VPN経由でネット接続したいのはテレビだけ」といったケースでは、テレビだけRaspberry PiのWi-Fiに接続し、VPN経由で通信する必要のない他の端末は普段使っているルーターに接続すれば良いということになります。

上記はいわゆる二重ルーターと呼ばれる構成になりますが、今回のユースケースだと大きな問題にはなりません。
※稀に「二重ルーターは絶対NG」と言及するサイトがありますが、二重ルーター自体はやってはいけない構成ではありません(参考

Raspberry Pi 1機あれば構築できるので、気になった方は以下の説明を参考に試してみて下さい。

なお、本記事ではRaspberry Pi 3 Model B+を使用しています。

※注:Raspberry Piをアクセスポイントとして機能させることから、Wi-Fiモジュール付きのRaspberry Piモデルを使用する必要があります。(USB外付けでもOKです)

Raspberry Piの初期設定

まず、microSDにOSイメージを書き込むところから始めます。

イメージの書き込みには公式のRaspberry Pi Imagerを利用します。

インストールがまだな方はこちらのリンクから、インストールを行って下さい。

microSDのフォーマット

microSDのフォーマットも、Raspberry Pi Imagerを使って行うことができます。

左下のOSを「削除」にすることで、FAT32でフォーマットをすることができます。

ストレージはPCに接続したmicroSDを選択して下さい。

設定が出来たら「書き込む」ボタンを押せばフォーマットすることができます。

Raspberry Pi OSの書き込み

フォーマットが完了したら、次にRaspberry Pi OSの書き込みを行います。

まず、引き続きRaspberry Pi Imagerを使ってOSを「RASPBERRY PI OS (32-BIT)」に設定します。

ストレージはmicroSDに設定した後、すぐには書き込みを行わず右下の歯車マークを選択し、詳細な設定を行います。

まず、ホスト名を有効化しデフォルトの「raspberrypi.local」を設定します。

また、SSHもパスワード認証で有効化しておきます。

ユーザー名とパスワードはお好みで設定して下さい。ここで設定したユーザー名とパスワードは今後ログインの際に必要な情報になるので、忘れないようにしてください。

今回Raspberry Piはルーターと有線接続するため、Wi-Fiは設定しません。

最後に、ロケールの設定を行います。こちらもご自身の環境に合わせ設定して下さい。

ここまでできたら「保存」ボタンを押して詳細な設定画面を閉じ、「書き込み」ボタンから書き込みを行って下さい。

多少時間がかかると思いますが、気長に待ちましょう。

Raspberry Piの起動・接続

microSDにイメージが書き込めたら、Raspberry Piに挿入し、起動します。

この時、Raspberry PiとルーターはLANケーブルで接続しておきます。

電源を入れたあと数分待ち、起動が完了したらSSHで接続を行います。

接続クライアントは何でも良いですが、私の手元ではWindows PCを利用しているので、Tera Termを使ってSSH接続を行います。

ホスト名は先程イメージの書き込みで設定した通り、「raspberrypi.local」です。

ユーザー名とパスワードについても、イメージの書き込み時に設定したものになります。

ユーザー名とパスワードを入力した後、「OK」ボタンを押すと、SSHでRaspberry Piに接続することができます。

接続が完了したら、以下のコマンドを順番に実行してRaspberry Piを最新の状態にして下さい。最後のコマンドで再起動が実行されます。

sudo apt-get update
sudo apt-get dist-upgrade
sudo reboot

raspapのインストール

SSHでRaspberry Piに接続できたら、RaspAPのインストールを行います。

RaspAPとは、Raspberry PiをWi-Fiアクセスポイントとして機能させるためのソフトウェアです。RaspAPを使用すると、Raspberry PiをWi-Fiアクセスポイントにすることができ、複数のデバイスを接続することができます。

RaspAPは、シンプルなWebインターフェイスで管理でき、Webブラウザーで、アクセスポイントのSSID、パスワード、IPアドレスなどを設定することができます。

またRaspAPはOpenVPNに対応しており、Raspberry PiをVPNクライアントルーターにすることができます。

SSHで接続したターミナルから、以下のコマンド入力することで、でOpenVPNモジュール付きのRaspAPをインストールすることができます。

curl -sL https://install.raspap.com | bash -s -- --yes --openvpn 1 --adblock 0

インストールが完了すると、ターミナルは以下のようになっているかと思います。

インストールが完了したら、以下のコマンドで再起動を行います。

sudo reboot

Wi-Fi アクセスポイントの設定

http://raspberrypi.local/」にアクセスすることで、RaspAPの管理GUI画面にアクセスすることができます。

BASIC認証により管理画面のユーザー名とパスワードが聞かれると思いますが、RaspAPのデフォルト値は以下になっているので、そちらを入力してログインします。

スクロールできます
Web画面のログインユーザ名admin
Web画面のログインパスワードsecret

管理画面のログインに成功すると、以下のような画面になっていると思います。

左メニューの「Hotspot」からSSIDやパスワードを変更することができます。

HotspotのBasic設定画面ではSSIDやチャンネルを設定することができます。

私は一旦デフォルトのSSIDとします。

Basic設定の右のタブの「Security」設定では、Wi-Fiのパスワードを設定できます。

初期状態ではPSKが「ChangeMe」となっているかと思いますので、こちらはご自身のお好みのパスワードに変更して下さい。ここで設定したパスワードがWi-Fiへアクセスする際のパスワードになります。

設定が完了したらSave settingsボタンを押して下さい。

最後にSecurity設定の右のタブの「Advanced」です。

Country Codeを「Japan」に設定し、こちらもSave settingsボタンを押して下さい。

上記でHotspotの設定は完了です。

左メニューの「Authentication」から、管理画面のユーザー名とパスワードも変更可能なので、こちらも忘れずに変更しておきましょう。

OpenVPNの設定

最後に、OpenVPNの設定です。

今回は冒頭で示した通りNordVPNのサーバーを利用するので、事前に接続を希望する .ovpn ファイルをダウンロードしておきます。

NordVPNの場合はこちらのページからダウンロードすることができます。

検証として今回は台湾のVPNサーバーにアクセスしたいので、tw170.nordvpn.comのtcp版をダウンロードしました。

.ovpn ファイルの用意ができたら、RaspAPでの設定を行います。

設定はRaspAP管理画面の左メニューにあるOpenVPNから設定できます。

「Client settings」タブから、ユーザー名とパスワードにはNordVPNのログイン情報を記載し、先程ダウンロードした .ovpn ファイルをConfiguration Fileとして選択します。

設定が完了したら、Start OpenVPNのボタンを押せばVPNクライアントルーターとして機能します。

「Configurations」タブを確認すると、きちんと設定できていることが分かります。

Wi-Fi アクセスポイントへの接続

ここまで設定が完了したら、Raspberry PiのWi-Fiアクセスポイントに接続します。

上記までの作業で設定したSSIDがアクセスポイントの一覧に出てくると思うので、そちらにアクセスします。

接続が完了したあと、whatismyipaddress.comに接続して自分のIPや国を確認すると、VPNサーバーのものになっていることが分かるかと思います。

これでRaspberry Piを利用したVPNクライアントルーターの作成は完了です。お疲れ様でした。

最後に

本記事では、Raspberry PiでRaspAPとOpenVPNを使って、VPNクライアントルーターを作成する方法を紹介しました。

どなたかの参考になりましたら幸いです。

  • URLをコピーしました!