WireGuard Easy (wg-easy)
WireGuard Easy(wg-easy)でVPN環境を構築してみました。
Dockerであることと設定に必要な項目が少ないことから構築で迷うことはありません。
細かな制御をしたい場合は設定ファイルを直接編集するようなことが必要かもしれません。
wg-easy/wg-easy
The easiest way to run WireGuard VPN + Web-based Admin UI.
環境
- Raspberry Pi 4B
- Ubuntu 24.10 (arm64)
- wireguard 1.0.20210914
- docker 2.0.4
- Portainer Community Edition 2.27.3 LTS
- WireGuard Easy (wg-easy) v14.0.0
- v6プラス回線
構築
v6プラス回線の調査
- 公開IPv4アドレスと公開IPv6アドレスを確認
https://test-ipv6.com/ - 公開IPv6アドレスから公開可能なポート番号を確認
http://ipv4.web.fc2.com/map-e.html - 公開ポート番号を決定
例えば60000/udpwireguardの使用プロトコルはudpです。
- wireguardを構築するサーバのローカルIPアドレスを確認 例えば192.168.11.24
ip a
- ルータでポートフォワード設定
インターネットからの60000/udpアクセスを192.168.11.24の60000/udpに転送同じポート番号にする必要があります。
Docker
- インストール
https://docs.docker.com/engine/install/ubuntu/#install-using-the-repositorysudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update - ユーザの設定
sudo usermod -aG docker $USER
exit
Portainer
- デプロイ
https://docs.portainer.io/start/install-ce/server/docker/linux#deploymentdocker run -d \
-p 8000:8000 \
-p 9443:9443 \
--name portainer \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-ce:lts - ログイン
https://<ローカルIP アドレス>:9443
wg-easy
- オプションとデフォルト値の確認
https://github.com/wg-easy/wg-easy/tree/production#user-content-options - デプロイ
docker run -d \
--name=wg-easy \
-e WG_HOST=<公開IPv4アドレス> \
-e PORT=51821 \
-e WG_PORT=<公開ポート番号> \
-v ~/.wg-easy:/etc/wireguard \
-p <公開ポート番号>:<公開ポート番号>/udp \
-p 51821:51821/tcp \
--cap-add=NET_ADMIN \
--cap-add=SYS_MODULE \
--sysctl="net.ipv4.conf.all.src_valid_mark=1" \
--sysctl="net.ipv4.ip_forward=1" \
--restart unless-stopped \
ghcr.io/wg-easy/wg-easy成功するとPortainer画面でコンテナの稼働状況を確認できる
- アクセス確認
https://<ローカルIP アドレス>:51821
クライアントの追加
- wg-easyの画面で+ New
10.8.0.0/24のアドレスが割り振られる
クライアント端末の設定
Androidの場合
- wireguardアプリをインストール
- wireguardアプリで+を押下
- QRコードをスキャンを選択
- wg-easy画面でQRコードアイコンをクリック後、画像をスキャン