今回は、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 の中身は以下のとおりです。
次に、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サーバを利用することができました。
コメント