WireGuard VPNサーバをUbunu VPS上に構築して自分専用VPSを作ってみた。 |コピペOK

今回は、WireGuardプロトコルを採用するVPNサーバを自身が契約するVPSサーバ上に構築することで、自分専用のVPNサーバを作る方法について解説します。

実際にやってみて、うまくAndroidスマートフォンから接続できることを確認しました。

検証環境

今回は、NTTが提供するVPS「WebARENA Indigo(Linux)」を用いて検証します。

OSとしては、Ubuntu 22.04 LTS がインストールされております。

Dockerのインストール

今回は、WireGuardの構築にDockerを利用するので、まずはDockerをインストールするところから始めましょう。

まずはパッケージをアップデートしましょう。

sudo apt update

次に、Dockerをインストールすることができるように必要なライブラリをインストールしてください。

sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release

Dockerの公式APTレポジトリの公開鍵を取得して登録しましょう。

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

次にレポジトリ定義ファイルを作成しましょう。

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

次にこれまでの設定を反映させましょう。

sudo apt update

いよいよここからがDockerのインストールです。以下のコマンドでDockerをインストールしてください。

sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

そのままだと権限周りでエラーが出るので、現在のユーザをDockerグループに追加しましょう。

sudo usermod -aG docker $USER

Dockerの起動と自動起動を有効化してください。

sudo systemctl start docker

sudo systemctl enable docker

最後に、Dockerがちゃんとインストールされていることを確認してください。

docker --version

ここで一度、SSHを切断して、新たに繋ぎ直してください(もしくは「newgrp docker」)。そうしないと権限周りの設定が有効化されません。

WireGuard VPNサーバの構築

まずは、WireGuardの設定ファイルを開いてください。

mkdir -p wireguard/config

次に、docker-compose.yml の作成してください。docker-compose.yml の中身は以下のとおりです。

docker-compose.yml

次に、WireGuardモジュールの読み込みをしてください。

sudo modprobe wireguard

次に、WireGuard VPNサーバのDockerを起動しましょう。

docker compose up -d

最後に、お使いのPCやスマートフォンにおいて、WireGuardクライアントをインストールして、以下のパスにある設定ファイルをダウンロードしてきて追加してください。

cat wireguard/config/peer1/peer1.conf

スマホの場合は、WireGuardアプリをインストールした上で、WireGuardアプリから「画像から設定を追加」を選択した上で、以下のパスにあるQRコードを読み込むことでも設定できます。

cat wireguard/config/peer1/peer1.png

これで、VPS上でのWireGuardサーバの構築とクライアントからの接続は完了です!

実際に私も上記の手順でサーバを構築し、WireGuard VPNサーバを利用することができました。

コメント