レビュー

無料でWireGuardを簡単にインストール・管理できる「WireGuard Easy」、クライアントの一覧表示・作成・編集・削除・有効化・無効化・QRコード表示・設定ファイルのダウンロードなどが可能


VPNのWireGuard環境を自分で構築すると、利用するPCやスマートフォンごとに鍵やIPアドレスなどを設定し、端末が増えるたびに設定を管理する必要があります。こうしたWireGuard環境の導入とクライアント管理をWebブラウザからまとめて行えるオープンソースツール「WireGuard Easy」が公開されています。

wg-easy/wg-easy: The easiest way to run WireGuard VPN + Web-based Admin UI.
https://github.com/wg-easy/wg-easy

◆WireGuard Easyの利用方法
・クライアントの追加
WireGuard Easyの管理画面のクライアント一覧にある「新しいクライアント」をクリック。


「名前」に任意の名前を入力し「有効期限」は有効期限として日付を入力もしくはそのまま空にすれば無期限になります。「クライアントを作成」をクリック。


IPが割り当てられクライアントが追加されます。


・クライアント側の設定
接続するクライアントでQRコードの読み込みが利用できる場合は、クライアント一覧から「QRコード」ボタンをクリック。


QRコードが生成されます。


クライアント側のWireGuardアプリを起動し「QRコードをスキャン」をタップ。


カメラが起動しQRコードを読み込ませるとインポート用のフォームが表示されるので「トンネル名」に名前を入力し「トンネルを作成」をタップ。


トンネルが追加されるのでトグルをオンにし接続します。


接続が完了するとWireGuard Easy側のクライアントの表示が接続状態となり、接続してからの時間や通信速度などが確認できます。


QRコードが利用できないPCなどでは「ダウンロード」ボタンをクリックして設定ファイルを保存しクライアントへ渡します。


クライアント側のWireGuardの「ファイルからトンネルをインポート」をクリック。


設定ファイルを読み込ませます。


トンネルが追加されるので「有効化」ボタンをクリック。


状態が有効になれば接続完了です。


WireGuard Easy側のクライアントの表示も接続状態となり、接続してからの時間や通信速度などが確認できます。


このように鍵の生成やIPアドレスの割り当てといったクライアントごとの設定を、Web UIから簡単に行えます。

◆クライアントをブラウザから管理
各クライアントについて以下の操作がブラウザから可能となります。

・編集
クライアント名やIPアドレス、Allowed IPsなどの設定を変更できます。

・削除
不要になったクライアントを管理画面から削除できます。

・有効化
無効化したクライアントを再びVPNへ接続できる状態にします。

・無効化
一時的にクライアントからのVPN接続を停止できます。

・接続状態確認
各クライアントがWireGuardへ接続しているかどうかを確認できます。

・Tx/Rx通信量表示
クライアントごとの送信量Txと受信量Rxを確認できます。

・クライアントごとのファイアウォール
クライアントごとにVPN経由でアクセスできるIPアドレスやネットワーク、ポートを制限できます。

・Allowed IPs
クライアント側でVPN経由にする通信先のIPアドレスやネットワーク範囲を指定できます。

・IPv6/CIDR
IPv6アドレスを利用できるほか、CIDR表記でネットワーク範囲を指定できます。

・2FA
管理画面へのログインにTOTP方式の2要素認証を追加できます。

・OIDC/OAuth
GoogleやGitHubなどの外部アカウントを利用した認証を設定できます。

・Prometheus
Prometheus向けのメトリクスを出力し、監視システムと連携できます。

・ワンタイムリンク
クライアント設定を一度だけ利用できるリンクとして発行し、利用者へ渡せます。

◆WireGuard Easyの構築方法
今回はGoogle CloudのVMインスタンス上のUbuntuDockerが利用できる環境に構築します。作業用フォルダーを作成し、移動してからdocker-compose.ymlを取得します。

sudo mkdir -p /etc/docker/containers/wg-easy
cd /etc/docker/containers/wg-easy

sudo curl -o docker-compose.yml \
https://raw.githubusercontent.com/wg-easy/wg-easy/master/docker-compose.yml


コンテナを起動します。

sudo docker compose up -d


ブラウザでサーバーのIPの51821ポートにアクセスすると初期セットアップの画面になるので「続行」をクリック。


管理者ユーザーを作成するため「ユーザー名」にユーザー名、「パスワード」および「パスワードの確認」にパスワードを入力し「アカウントの作成」をクリック。


「既存のセットアップがありますか?」との問いに対しては「いいえ」をクリック。


「ホスト」にサーバーのIPもしくはホスト名を入力、「ポート」は表示されているポートのまま「続行」をクリック。


セットアップ完了の画面が表示されるので「サインイン」をクリック。


「ユーザー名」に先ほど登録したユーザー名、「パスワード」にパスワードを入力して「サインイン」をクリック。


管理画面が表示されればインストール完了です。


なお、検証環境ではdocker-compose.ymlのwg-easyサービス内にあるenvironmentへINSECURE=trueを設定することでHTTP接続も利用できますが、本番環境ではリバースプロキシなどを利用してHTTPSで接続できるように設定することが推奨されています。

・関連記事
WireGuardベースのオーバーレイネットワークとゼロトラストネットワークアクセスを組み合わせ信頼性が高く安全な接続ができる「NetBird」、オープンソースでセルフホスト可能 - GIGAZINE

スマホ・PC間で安全なネットワークを簡単に構築できる「Tailscale」レビュー - GIGAZINE

安全なVPNネットワークを簡単に構築できる「Tailscale」の仕組みとは - GIGAZINE

無料で使えるシンプルで高速なVPNのWireGuard用の構成ファイルを管理してくれるサービス「WireHub」を使ってみた - GIGAZINE

AdGuardが独自のVPNプロトコル「TrustTunnel」をオープンソース化 - GIGAZINE

in ソフトウェア,   レビュー, Posted by darkhorse_logmk

You can read the machine translated English article WireGuard Easy is a free and easy-to-use….