WireGuard VPNサーバーを簡単にセットアップする

私がよく利用している簡単にWireGuardサーバーをセットアップする方法を紹介します。

以下のGitHubリポジトリを使用します。

セットアップ

まずは以下のコマンドを順番に実行します

curl -O https://raw.githubusercontent.com/angristan/wireguardinstall/master/wireguard-install.sh
chmod +x wireguard-install.sh
sudo ./wireguard-install.sh

セットアップが開始されます。ほとんどの場合初期値のまま進めば問題ないと思います。必要に応じて変更してください。

グローバルIPアドレスの設定

IPv4 or IPv6 public address: 192.168.0.1

初期値に問題がなければそのままEnter、間違っている場合は修正。

ネットワークインタフェースの設定

Public interface: eth0

WireGuard用のインタフェース名の設定

WireGuard interface name: wg0

初期値はwg0です。

WireGuardサーバーのIPアドレスの設定

Server WireGuard IPv4: 10.66.66.1
Server WireGuard IPv6: fd42:42:42::1

ローカルIPです。

使用するポートの設定

Server WireGuard port [1-65535]: 12345

初期値はランダムになってます。

使用するDNSの設定

First DNS resolver to use for the clients: 1.1.1.1
Second DNS resolver to use for the clients (optional): 1.0.0.1

接続許可するクライアントの設定

WireGuard uses a parameter called AllowedIPs to determine what is routed over the VPN.
Allowed IPs list for generated clients (leave default to route everything): 0.0.0.0/0,::/0

接続を許可するクライアントのIPアドレスの設定です。すべて許可する場合はそのままEnter

接続したクライアントに、特定のネットワークのみ接続を許可したい場合、ここでIPアドレスを指定します。

接続ファイルの生成

Press any key to continue...

何かしらのキーを押し続行。少しの間待機します。

Client name: PC1

接続するクライアントの名前を設定してEnter

Client WireGuard IPv4: 10.66.66.2
Client WireGuard IPv6: fd42:42:42::2

クライアント側のIPアドレスを設定します。確認・設定したらEnterを押し完了です。


完了するとQRコードが表示されます。AndroidやiOSアプリでの接続で利用できます。

接続ファイルはスクリプトを実行したユーザーフォルダ直下に保存されています。

必要に応じてファイアウォールの設定などを行ってください。

ユーザーの追加などの設定方法

クライアントの追加や削除、WireGuardサーバーのアンインストール方法です。

sudo ./wireguard-install.sh

上記コマンドを実行してください。

What do you want to do?
   1) Add a new user
   2) List all users
   3) Revoke existing user
   4) Uninstall WireGuard
   5) Exit
Select an option [1-5]:

上記のようにいくつかの選択肢が出ます。

  1. ユーザー追加
  2. ユーザー一覧の表示
  3. ユーザー削除
  4. WireGuardをアンインストール
  5. 戻る

ユーザー追加

…
Select an option [1-5]: 1

Client name: Phone1
Client WireGuard IPv4: 10.66.66.3
Client WireGuard IPv6: fd42:42:42::3

先ほどの設定と同じように、クライアント名、IPアドレスを設定すると生成されます。

ユーザー削除

…
Select an option [1-5]: 3

Select the existing client you want to revoke
     1) PC1
     2) Phone1

削除したいユーザーの番号を入力しEnter。

WireGuardをアンインストール

…
Select an option [1-5]: 4
WARNING: This will uninstall WireGuard and remove all the configuration files!
Please backup the /etc/wireguard directory if you want to keep your configuration files.
Do you really want to remove WireGuard? [y/n]: y

WireGuardがアンインストールされ、すべての設定ファイルが削除されます。データを保持しておきたい場合は/etc/wireguard ディレクトリをバックアップしてください。的なことが書かれた警告文が出ます。

問題ない場合は y と入力しEnter。アンインストールが開始されます。

接続

Windows

上記リンクの「Download Windows Installer」からダウンロードし、インストールしてください。インストール方法は省略します。

インストールしたWireGuardクライアントを起動します。

「ファイルからトンネルをインポート」をクリックし、先ほど生成したファイルを開いてください。

ファイルを読み込んだら、「有効化」をクリックし接続完了です。

Android/iPhone

上記リンクからアプリをダウンロードしてください。

画像はAndroidを使用していますが、iPhoneでもほぼ同じです。

アプリを起動したら+をタップ、その後「QRコードをスキャン」をタップします

先ほど表示されたQRコードを読み取って接続名を設定します。

iOSの場合は接続名を設定したタイミングで認証を求められます。画面指示に従って設定してください。

トグルをONにしたら接続完了です。