Raspberry PiでOpenVPNサーバーを建てる

Raspberry Piを各種サーバーにする

なんだかんだ自宅内に便利なネットワークが組まれているので、外出先などからでも自宅内ネットワークにアクセスできるようにVPNを構築しようと思います。

Advertisement

VPNのプロトコルについて

VPNには様々なプロトコルがあります。

Raspberry Piなら基本的にどのプロトコルでも利用できるかと思いますが、今回私はOpenVPNを利用しようと思います。

OpenVPNはポートを自由に変更できますし、総合的に評価が高いです。

事前準備

IPアドレスの固定

Raspberry Pi OSをインストールする

Raspberry PiのIPアドレスを固定しておいてください。

DDNSの利用

Raspberry PiでMyDNSへIPアドレスを自動通知する

自宅の回線が固定IPアドレスならば必要ありませんが、動的IPアドレスの場合はDDNSを利用できるようにしておいてください。

構築にPiVPNを利用

本来OpenVPNを構築するには非常に面倒な手順を踏む必要があるのですが、PiVPNを利用することで簡単に構築できるようになりました。
なのでPiVPNを利用して構築していきます。

構築

ということで構築していきます。

curl -L https://install.pivpn.io | bash

を実行すると色々とインストールされます。待ちましょう。

英文を読んでOKを選択してください。決定はスペースキー、移動はTabキーです。

まず静的IPアドレスの確認が行われます。IPアドレスの設定が正しければYesを選択してください。

次に設定を保存するユーザーを指定します。基本的に自分のログインユーザーを選択してください。

次に利用するプロトコルをWireGuardとOpenVPNから選択します。
WireGuardは新しいVPNプロトコルで、シンプルかつ高速なプロトコルです。
こちらでもおそらく問題なく快適に利用できると思いますが、通信にTCPを利用できないらしいので今回はOpenVPNを利用しようと思います。

次にカスタム設定をするか聞かれます。基本的にはデフォルト設定で問題ないと思いますが。今回私はポート番号などを変更したいのでYesを選択してカスタム設定します。

TCPかUDPか選択します。基本的にUDPのほうが早いと言われているのでこちらで良いのですが、今回は利用したい接続元のファイアーウォールの関係上TCPで接続したいのでTCPを選択します。

ポート番号を指定します。基本的にはデフォルト、もしくはセキュリティ的に適当な数値を選択すれば良いのですが、今回は利用したい接続元のファイアーウォールの関係上443番で接続したいので443を指定します。ただし、443番など汎用的に利用されるポート番号は他のシステムで利用されていないか注意してください。例えばすでにWebサーバーなどを動かしているRaspberry Piなどで443番を指定したOpenVPNサーバーを構築すると問題が発生すると思います。おそらく。

DNSを指定します。デフォルトでも問題ないと思います。変更したい場合はCustomなどから変更してください。

カスタム検索ドメインを追加する場合は追加します。基本的にはNoを選択します。

IPアドレスで接続するかDNSで接続するかを選択します。DNS Entryを選択してDDNSで登録したドメインを入力します。

暗号方式を選択します。セキュリティを向上させるのならばYes、古いバージョンのOpenVPNクライアントなどでも接続できるように互換性を向上させる場合はNoを選択します。

鍵長を選択します。基本的に256で問題ないと思います。より一層セキュリティを高めたいのならば更に高い値を選択しても良いですが、鍵の生成に時間がかかります。

自動セキュリティアップデートを有効にするか選択します。基本的に有効にしたほうが良いと思います。

最後に再起動するか聞かれます。色々なものをインストールしているので再起動しておいたほうが良いと思います。

OpenVPNプロファイルの作成

OpenVPNのインストールが完了したので、接続するためのプロファイルを作成します。

pivpn add

を実行し、クライアント名を入力します。

証明書の期限はデフォルトで良いと思います。

パスワードを入力して完了です。

作成された.ovpnファイルは

~/ovpns

に保存されているので何かしらの方法で利用するクライアントにコピーしてください。

例えば/mnt/hddにコピーする場合は

cp ~/ovpns/hoge.vpn /mnt/hdd

でコピーできます。

ポート開放

OpenVPNで利用するポートを開放してください。

クライアントの利用

あとは利用する端末にクライアントをインストールして先程生成した.ovpnファイルを読み込ませてパスワードを入力すればOKです。

速度について

私が試したところ、ダウンロード40Mbps、アップロード15Mbps程度の速度が出ました。

家庭内ネットワークからの大容量なファイル転送などには若干遅めな速度ではありますが、VPNを通した状態でのネットブラウジングなどには問題ない速度です。

Advertisement

ということで簡単にインストールすることができてしまいました。

PiVPNを利用すると簡単にWireGuardプロトコルを利用することもできるのでこちらを利用してみても良いかもしれません。