VPN-クライアント設定編WireGuard

2025/11/11
ウィンドウズ端末での追加設定はこちら

VPNに繋ぐクライアント設定

wireguardの外部サーバーを使った構成は、外部サーバー(中心的な中継サーバー)以外はすべて同じ扱いであり、どのパソコンからどのパソコンに繋ぐかは、運用として決めます。
ここでは、職場にあるwindows機A(10.200.0.2とする)に外出先パソコン2機(B機 windows 10.200.0.10,C機 linux 10.200.0.11)からつなぐような運用を想定しています。

構成概要

項目設定値
VPSグローバルIP160.xxx.xxx.185
WireGuardポート5xxx0/udp
VPNネットワーク10.200.0.0/24
VPS VPN IP10.200.0.1
事務所PC A10.200.0.2
外出先端末B (Windows)10.200.0.10
外出先端末C (Linux antiX)10.200.0.11

STEP 1: クライアント鍵ペア生成

Windows機での鍵ペア生成

WireGuard for Windowsのインストール
  1. 公式サイトからダウンロード:https://www.wireguard.com/install/
  2. wireguard-installer.exeを実行してインストール

鍵ペア生成

  1. WireGuardアプリを起動
  2. 「トンネルを追加」→「空のトンネルを追加」をクリック
  3. 自動的に秘密鍵と公開鍵が生成されるはず。
  4. トンネル名を入力(任意で決めて良い)
ここでトンネルの名前(すべて共通にする必要はないが、共通のほうが管理しやすいかも)を決めておきましょう
例: wireguard-tips456

※鍵ペアは、必ず、WireGuardの機能で作成するようにしましょう。専用のものです。

公開鍵の登録

それぞれのクライアント端末の公開鍵は、すべて中継サーバー(VPS)の設定に転記します。
中継サーバー(VPS)の公開鍵(public.key)は、すべてのクライアント端末のwireguardに転記します。
これにより、中継サーバーが中心となって、すべてのクライアント間のVPNを構築することとなります。
くれぐれも秘密鍵を転記しないようにしてください。

STEP 2: 中継サーバ側 Peer 登録

中継サーバ(さくらVPS)側の設定です。

/etc/wireguard/wg0.conf を編集します。

※microはお好きなエディタに置き換えてください。
sudo micro /etc/wireguard/wg0.conf
内容:
中継サーバーの情報はすでに、WireGuard設定時に記載されたはずなので、重複しないようにしてください。
サブネットマスクは中継サーバーだけが、/24 であり、他は /32 なので気を付けてください。

5xxx0はサーバー編で設定したUDPポートです
[Interface]
Address = 10.200.0.1/24
ListenPort = 5xxx0
PrivateKey = (サーバ秘密鍵)

# クライアント登録

[Peer]  # 事務所PC A
PublicKey = (office-pc-public.key)
AllowedIPs = 10.200.0.2/32

[Peer]  # 外出先端末B (Windows)
PublicKey = (mobile-win-public.key)
AllowedIPs = 10.200.0.10/32

[Peer]  # 外出先端末C (Linux antiX)
PublicKey = (mobile-linux-public.key)
AllowedIPs = 10.200.0.11/32
WireGuard再起動:
sudo systemctl restart wg-quick@wg0
sudo wg show

STEP 3: クライアント設定テンプレート

続いて、各クライアントに中継サーバーの公開鍵を転記します。
WireGuardのアプリの「編集」から、[Peer]のほうにサーバーの公開鍵を転記します。
中継サーバーの公開鍵は中継サーバーで確認し、コピーします。

公開鍵の確認
sudo wg show

事務所PC A (Windows)

160.xxx.xxx.185:5xxx0 は中継サーバのIPアドレスとポートです。

[Interface]は/32 [Peer] は/24
[Interface]
Address = 10.200.0.2/32
PrivateKey = (office-pc-private.key)
DNS = 8.8.8.8, 1.1.1.1

[Peer]
PublicKey = (server_public.key)
Endpoint = 160.xxx.xxx.185:5xxx0
AllowedIPs = 10.200.0.0/24
PersistentKeepalive = 25

外出先端末B (Windows)

ウィンドウズ端末での追加設定はこちら
[Interface]
Address = 10.200.0.10/32
PrivateKey = (mobile-win-private.key)
DNS = 8.8.8.8, 1.1.1.1

[Peer]
PublicKey = (server_public.key)
Endpoint = 160.xxx.xxx.185:5xxx0
AllowedIPs = 10.200.0.0/24
PersistentKeepalive = 25

外出先端末C (antiX Linux)

antiXの場合、
#DNS = 8.8.8.8, 1.1.1.1
とコメントアウトします。
WireGuardは、resolve.confをスタート時に書き換えるのですが、終了時に元に戻してくれません。
一般のlinuxであれば、linuxのほうでリカバリーできるそうですが、antiXは軽量版のため、そこまで面倒見がよくありません。
他の軽量linuxはわかりません。
[Interface]
Address = 10.200.0.11/32
PrivateKey = (mobile-linux-private.key)
#DNS = 8.8.8.8, 1.1.1.1

[Peer]
PublicKey = (server_public.key)
Endpoint = 160.xxx.xxx.185:5xxx0
AllowedIPs = 10.200.0.0/24
PersistentKeepalive = 25

STEP 4: 接続テスト


# 各クライアントでVPN起動

wg-quick up wg0  # Linux

# Windows: WireGuardアプリで「有効化」

# VPSへPing

ping 10.200.0.1

# 事務所PCへPing

ping 10.200.0.2

# VPS側で確認

sudo wg show

Windows端末での注意点

Windowの設定によっては、以下の設定をしないとpingが通らないものもあるようです。
※ PowerShellを管理者権限で実行
私の環境では、下記の設定をしなくても通る機もあれば、1をしないと通らない機もあります。
2は遭遇していないですが、念のための記載です。

※ひょっとしたらインターネット直繋ぎか、プライベートLAN経由かによって違うのかもしれません。

1.WireGuardのネットワークを public → private に変更

Set-NetConnectionProfile -InterfaceAlias "(wireguardのトンネル名)" -NetworkCategory Private

2.10.200.0.0/24については、通信(TCP,RDP)が通るようにします。

# ICMP (Ping) を WireGuardサブネットから許可
New-NetFirewallRule -DisplayName "Allow ICMP from WireGuard subnet" `
  -Protocol ICMPv4 -Direction Inbound -Action Allow `
  -RemoteAddress 10.200.0.0/24 -Profile Private

# RDP (3389) を WireGuardサブネットから許可(必要なら)
New-NetFirewallRule -DisplayName "Allow RDP from WireGuard subnet" `
  -Protocol TCP -LocalPort 3389 -Direction Inbound -Action Allow `
  -RemoteAddress 10.200.0.0/24 -Profile Private

STEP 5: RDP確認

Windows外出先端末Bから:

RDP先: 10.200.0.2
ポート: 3389
ユーザ: 事務所PCのWindowsユーザ名

Linux外出先端末Cから:

remmina

# 新規接続: RDP / 10.200.0.2 / ユーザ名・パスワード

STEP 6: セキュリティ補足

秘密鍵(private.key)は絶対に他端末にコピーしない。
クライアント紛失時はwg0.confの該当Peerを削除。
firewalld / fail2banは既に恒久設定済み。

これでVPN網 (10.200.0.0/24) に3台のクライアントが登録完了し、外出先から事務所PCへRDPアクセスが可能になります。