kAsA's website
← 記事一覧へ戻る

自宅Proxmoxサーバ上にWireGuard VPNを構築したログ

投稿日: 2025/05/01

自宅Proxmoxサーバ上にWireGuard VPNを構築したログ

目的

外部ネットワーク(出先)から、自宅LAN内のProxmox・サーバ・監視ツールに対して安全にアクセスできるVPN環境を構築する。


構成概要

※ プライベートIPアドレスやグローバルIPはすべて伏せてあります。


使用したソフトウェア


手順ログ

① Proxmox上にUbuntu VM作成

② WireGuardのインストール

sudo apt update && sudo apt install wireguard -y

③ 鍵ペアの生成(VPNサーバ)

umask 077
wg genkey | tee privatekey | wg pubkey > publickey

④ WireGuardの設定ファイル /etc/wireguard/wg0.conf

[Interface]
PrivateKey = (サーバ秘密鍵)
Address = 10.100.0.1/24
ListenPort = 51820
SaveConfig = true
PostUp = iptables -t nat -A POSTROUTING -s 10.100.0.0/24 -o ens18 -j MASQUERADE
PostDown = iptables -t nat -D POSTROUTING -s 10.100.0.0/24 -o ens18 -j MASQUERADE

[Peer]
PublicKey = (クライアント公開鍵)
AllowedIPs = 10.100.0.2/32

⑤ IP転送の有効化

sudo sysctl -w net.ipv4.ip_forward=1
# 永続化
sudo nano /etc/sysctl.conf
# 以下の行を追加または有効化
net.ipv4.ip_forward = 1

⑥ WireGuard起動・自動起動設定

sudo wg-quick up wg0
sudo systemctl enable wg-quick@wg0

ルーター(ホームゲートウェイ)側の設定

項目
プロトコルUDP
外部ポート51820
内部IPVPNサーバのIP
内部ポート51820

クライアント(macOS)の設定

① 鍵ペアを生成

umask 077
wg genkey | tee client_privatekey | wg pubkey > client_publickey

client.conf を作成

[Interface]
PrivateKey = (クライアント秘密鍵)
Address = 10.100.0.2/24

[Peer]
PublicKey = (サーバ公開鍵)
Endpoint = (自宅のグローバルIP):51820
AllowedIPs = 10.100.0.0/24, 192.168.0.0/24
PersistentKeepalive = 25

③ VPN接続の起動

sudo wg-quick up ./client.conf

※ WireGuard GUIアプリでも同様の設定を使って接続可能


動作確認結果(テザリング接続で外部ネットワークから確認)

検証内容結果
VPNサーバへのPing成功
ProxmoxへのPing成功
Proxmox WebGUIへのアクセス成功
SSHによる接続(VPN越し)成功
Grafanaなど他サービスの確認成功

まとめ

WireGuardを使って、安全かつ高速なVPN環境を構築できたことで、
今後は どこにいても自宅ProxmoxやLAN環境にセキュアにアクセス可能になった。