linux mint でVPN接続-wireguard

2025/11/20
linux mint で wireguardでVPNを構築したので、覚書です。
antiXでwireguard記事はこちら

Linux Mint でVPN-WireGuard

mintのパッケージにはwireguardは入っていないようなので、手動インストール。
sudo apt update
sudo apt install wireguard wireguard-tools
# wireguard用鍵ペアの作成
# 専用ディレクトリの作成
mkdir -p ~/wireguard-keys

#鍵ペアの作成
wg genkey | tee ~/wireguard-keys/private.key | wg pubkey > ~/wireguard-keys/public.key

chmod 600 ~/wireguard-keys/private.key
sudo nano /etc/wireguard/wg0.conf
[Interface]
PrivateKey = (上で作成した秘密鍵)
Address = 10.200.0.10/32
DNS = 8.8.8.8
PostUp = echo "nameserver 8.8.8.8" > /etc/resolv.conf
PostUp = echo "nameserver 8.8.4.4" >> /etc/resolv.conf
PostDown = systemctl restart systemd-resolved

[Peer]
PublicKey = (中継サーバーの公開鍵)
AllowedIPs = 10.200.0.0/24
Endpoint = 160.xxx.xxx.185:5xxx0
PersistentKeepalive = 25
mintは、resolv.conf が再起動でデフォルト書き換わってしまうので、wireguardを起動するときに、resrlv.confのDNS設定を書き換えます。
wirreguard終了時には、systemd-resolved を再起動して、わざとデフォルトに書き換えさせます。
sudo chmod 600 /etc/wireguard/wg0.conf

手動起動

WireGuard を手動で起動・停止するには、wg-quick というコマンドラインツールを使用します。

1. 手動で接続を開始する

ターミナルを開き、以下のコマンドを実行します。
`wg0` の部分は、`/etc/wireguard/` に配置した設定ファイル名(例: `wg0.conf`)に合わせてください。
sudo wg-quick up wg0
2. 接続状態を確認する

接続が成功したか、現在の状態を確認するには、以下のコマンドを使用します。
ピア(接続先)の情報や、直近のハンドシェイク(通信確立)の時刻が表示されます。
sudo wg show
3. 手動で接続を停止する

接続を終了したい場合は、以下のコマンドを実行します。
sudo wg-quick down wg0

自動起動設定

# WireGuard自動起動を有効化
sudo systemctl enable wg-quick@wg0.service

# 状態確認
sudo systemctl status wg-quick@wg0.service
上記だけでうまくいかないときには、onlineサービスが立ち上がったあとにwireguardが起動するように設定。
# サービスに依存関係を追加
sudo systemctl edit wg-quick@wg0.service
以下を追加:
ini[Unit]
Wants=network-online.target
After=network-online.target
通常の自動起動を有効化
sudo systemctl enable wg-quick@wg0.service

フルトンネルにしたいとき

フルトンネルとは、すべての通信をVPN中継サーバーを通す方法です。
これで世界中のどこからでも、中継サーバー経由でアクセスすることができます。
プロキシですね。

クライアントのwirwguardの設定で以下のようにします。
[Peer]
PublicKey = (中継サーバーの公開鍵)
AllowedIPs = 0.0.0.0/0
Endpoint = 160.xxx.xxx.185:5xxx0
PersistentKeepalive = 25
AllowedIPs = 0.0.0.0/0
とするのがポイントです。