Raspberry Pi4とPiVPNで簡単VPNサーバ構築
はじめに
どうもEitaです。
今回は海外に住んでいる親戚の方から日本のコンテンツを見るためにVPNサーバを構築してほしいとお願いされたので、Raspberry Pi4でVPNサーバを作っていきます
環境
ラズパイ: Raspberry Pi4 4GB 64bitモデル
OS: Raspberry Pi OS Lite (64bit)
バージョン: Debian GNU/Linux 12 (bookworm)
セットアップと初期設定
Raspberry Pi OSのインストール
Micro SDカードにOSのイメージを焼いていきます。
公式サイトから「Raspberry Pi Imager」というMicro SDカードにOSを書き込んでくれるソフトをダウンロードしてインストールします。
インストール出来たら起動します。
デバイスは「Raspberry Pi 4」を選択します。
OSはOtherにある「Raspberry Pi OS Lite」を選択します。


あとは書き込むデバイスを選択します。
書き込む際に設定ができるのでこの時点でWifiとSSH接続の設定を終わらせておくと、あとからモニターやキーボードを接続しなくてもいいので楽です。
書き込みが終わったらラズパイに差し込んで起動します。
一分程度待った後にssh接続をします。
まずは、更新を行います。
sudo apt update
sudo apt upgrade -y
終わったら一度再起動をします。
sudo reboot
再起動した後またssh接続をします。
固定IPとポートフォワーディングの設定
まずは固定IPの設定を行います。
ラズパイ自体の固定IP設定はPi VPNのインストールをする際にできるので先にルーター設定を行います。
お使いのメーカーによって異なりますが、基本は管理画面にアクセスして固定DHCP設定をします。
今回は、現在割り当てられているIPアドレスを固定します。
コマンドを使ってIPアドレスを調べます。
ip a
無線LANで接続しているので、wlan0のところを見ます。
inetの一番最初の数字がIPアドレスです。
また、MACアドレスも必要なのでこの時に確認しておきます。
あとはルーターの固定DHCPの設定をします。
次にポートフォワーディングの設定をします。
ポートフォワーディングとは簡単に言うと、外部からのアクセスを内部のコンピュータに転送することです。
今回は外部からVPNのアクセスを行うので、そのアクセスをラズパイに転送するように設定します。
先ほど設定した固定IPを入力します。
ポート番号はWireguardのデフォルトである「51820」に設定をします。
ダイナミックDNSサービスの設定
グローバルIPアドレスが変更されてもアクセスできるようにダイナミックDNSサービスの設定を行います。
今回は「Duck DNS」を使います。
Duck DNSにアクセスし、アカウントを作成します。
アカウントを作成したらドメインを作成することができるので任意のドメインを作ります。
自分は「苗字-vpn」にしました。
そのご、Installタブを開いてPiを選択し、乗ってあるコードを実行していきます。


公式サイトを見ながら実行してください。
これが終わればあとはPiVPNのインストールだけです。
PiVPNのインストール
PiVPNをインストールします。
以下のコマンドでインストールできます。
curl -L https://install.pivpn.io | bash
ウェルカムメッセージなどが表示されていきます。
固定IPを設定するかなどが聞かれるので先ほど設定下通りに答えていきます。
インストールが終わった後に以下のコマンドを実行します。
pivpn add
任意の名前を入力します。
これでVPNサーバの構築が終わりました!!
以下のコマンドを実行することでアクセスするために必要なQRコードを生成できます。
pivpn -qr
最後に
今回はRaspberry Pi4とPiVPNを使ってVPNサーバを構築しました。
最初のネットワーク設定が少し複雑ですが、そこを乗り越えればすんなりと構築ができると思います。
それでは。
Discussion