調べたのでメモ。トンネルを独立したサービスとして登録する方法で実現します。
準備
Wireguardを入れる
公式のバイナリを普通にインストールします
https://www.wireguard.com/install/
接続用CONFを準備
トンネルを張るためのCONFファイルを準備します。
ここでは例として"C:\Program Files\WireGuard\vpntest.conf"
とします
接続用サービスを作成
管理者権限で下記コマンドを実行します。
"c:\Program Files\WireGuard\wireguard.exe" /installtunnelservice "C:\Program Files\WireGuard\vpntest.conf"
管理ツールのサービスを開いて、 WireGuard Tunnel: vpntest
という名でサービスが作成されていることを確認します。
起動時に自動接続しないようにする
そのままでは起動のたびに自動接続してしまうので、サービスのスタートアップを手動に設定します。
接続/切断のコマンド
いずれも管理者権限が必要です
接続
net start "WireGuard Tunnel: vpntest"
切断
net stop "WireGuard Tunnel: vpntest"
補足
- サービスが不要になった場合は下記コマンドで登録解除します
"c:\Program Files\WireGuard\wireguard.exe" /uninstalltunnelservice vpntest
- タスクトレイのGUIからは接続状態は確認できませんので、
wg
コマンドで確認します。 -
WireGuard Manager
サービスも"手動"に変更するとタスクトレイのアイコンを隠すことができます。