レビュー

既に実行中のWireGuardホスト向けの集中型Web UI「wg-admin」、無料でセルフホスト可能


WireGuardでVPNを運用していると、新しい端末を追加するたびに公開鍵やIPアドレスを確認して設定ファイルを書き換える作業が発生します。「wg-admin」は既存のWireGuard設定をそのまま引き継ぎ、Peerの追加や編集、QRコードの生成、接続状況の確認などをブラウザから行えるオープンソースの管理ツールです。

logimaxx/wg-admin
https://github.com/logimaxx/wg-admin

◆wg-adminの機能
「wg-admin」は新しいWireGuard環境を作成する管理ツールではなく、すでにLinux上で動作しているWireGuardへ追加し「/etc/wireguard」に保存された既存の「*.conf」をそのまま管理対象として読み込むWeb UIです。


「wg0」のパネルをクリック。


サーバー設定が確認できます。


◆新しいPeerを追加してQRコードで設定
新しい端末を追加する場合は「Add peer」をクリック。


新しい接続を作成するため「Name」にPeer名を入力し「Create peer」をクリック。


QRコードとクライアント用「.conf」のダウンロードボタンが表示されるのでモバイル端末のWireGuardアプリからQRコードを読み取るか、設定ファイルをダウンロードしてPCのWireGuardで設定を取り込みます。


接続が完了するとwg-adminの「Peers」に追加され、状態が確認できます。


◆Peerを削除せず停止、稼働中のWireGuardへ反映
Peerを一時的に接続させたくない場合は「Disable」で設定を削除せず無効化できます。


「Enable」をクリックすれば同じPeer情報と割り当て済みIPアドレスを維持したまま復帰できます。


Peerの追加や編集では設定ファイルを書き換えた後に「wg syncconf」を利用して稼働中のインターフェースへ同期するため、Peerを変更するたびにWireGuardインターフェース全体をdown/upする方式を避けられます。さらに設定を書き換える前には「/var/lib/wg-admin/backups/」へバックアップが保存され「Config backups」から過去の設定を選んで復元できます。


◆「wg-admin」と類似ツールの違い
同じWireGuard管理ツールでも「WireGuard Easy」はDockerやPodmanを利用してWireGuardと管理UIをまとめて構築する方法が中心なのに対し、wg-adminはすでにホスト上で稼働している「/etc/wireguard/*.conf」を直接管理対象にする点に大きな違いがあり、機能数を増やすことより「すでに安定して動いているWireGuardの構成を維持したまま日常的なPeer管理だけをブラウザへ移す」という用途に絞っているのがwg-adminの特徴です。


◆wg-adminの評価
ソーシャル系ニュースサイトのHacker Newsでは、wg-adminについてさまざまな議論が行われており「既存のwg設定とツールを利用するという位置付けがちょうどいい」という評価がある一方、「ネットワークセキュリティに対してリスクが高く、得られるものが少ないように思える」という意見も投稿されています。これに対して作者は「ツール単体へセキュリティを任せる考えではなく、私は別の手段を組み合わせている」と説明しています。

◆wg-adminのインストールと接続方法
今回はWireGuardを利用しているUbuntu Desktopにインストールします。公式手順では以下のコマンドでインストールできます。

git clone https://github.com/logimaxx/wg-admin.git
cd wg-admin
sudo ./install.sh


「wg-admin is installed」と表示されればインストール完了です。外部クライアントなどからアクセスする場合は「混乱しがちな『SSHトンネルの確立方法』をイメージ図とセットでまとめたコマンド集」を利用して8080ポートにトンネルを構築します。

# コマンド例
ssh -L 8080:127.0.0.1:8080 【Ubuntuのユーザー名】@【UbuntuのIPアドレス】


ブラウザで「http://127.0.0.1:8080」にアクセスすると管理者パスワードを設定するフォームが表示されるので「Admin password」および「Confirm password」にパスワードを入力して「Start managing」をクリック。


「Interfaces」が表示されれば接続完了です。

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

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 wg-admin, a centralized web UI for WireG….