0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

VPN(GlobalProtect)のSIG内でWSLを使用するための設定

Last updated at Posted at 2025-04-11

VPN(GlobalProtect)対応の実施

GlobalProtectというVPN製品が提供するSIG(Secure Internet Gateway)の環境下で、WSL2上のWebアクセス系コマンドがx509エラーになることがあります。

参考記事:

本記事は、その回避方法を記載したものです。

ザックリとは、wsl-vpnkitを導入し、VPN用のルート証明書をWSL2上のLinuxにインストールすることで、現象を回避できます。 以下、その手順です。

1. wsl-vpnkitの導入

まず、wsl-vpnkitを導入します。

参考記事:
https://zenn.dev/xeres/articles/2023-10-05-install-wsl-vpnkit

なお、参考記事にもありますが、Windows 11環境ではMirrored モードを使用した方がいいかもしれません。私の環境は10だったので、とりあえずこれで。

1.1. wsl-vpnkitの入手

以下から最新(※)のwsl-vpnkit.tar.gzを入手。(※)2025年3月30日時点ではv0.4.1
https://github.com/sakai135/wsl-vpnkit/releases/

格納先はどこでもいいですが、以降の手順をコピペでやりたい方は「D:\wsl\wsl-vpnkit」直下に保存してください。

1.2. wsl-vpnkitのインストール

ホストのWindowsからPowershellで以下を順に実行し、wsl-vpnkitSのインストールを実施。

cd D:\wsl\wsl-vpnkit # wsl-vpnkit.tar.gz格納先
wsl --import wsl-vpnkit --version 2 D:\wsl\wsl-vpnkit wsl-vpnkit.tar.gz

1.3. wsl-vpnkitの自動起動設定

wsl-vpnkitが自動起動するように設定します。

以下、WSL上でWebアクセスをさせたいディストリビューション(ゲストOS)の名前が「Ubuntu」である前提で手順を記載します。必要があれば読み替えてください。

まず、Ubuntuの/etc/wsl.confに以下を設定しsystemdを有効化してください。

/etc/wsl.conf
[boot]
systemd=true

Ubuntuで以下を実行し、systemdにwsl-vpnkitの起動を追加し、有効化します。

wsl.exe -d wsl-vpnkit --cd /app cat /app/wsl-vpnkit.service | sudo tee /etc/systemd/system/wsl-vpnkit.service
sudo systemctl enable wsl-vpnkit

ホストのWindowsのコマンドプロンプトから以下を実行してUbuntuを再起動します。

wsl --shutdown
wsl -d Ubuntu

2. ゲストOSへVPN用ルート証明書をインストール

次に、UbuntuにVPN用のルート証明書をインストールし、SSLのエラーを抑止します。

参考記事:

2.1. ホストOSからVPN用ルート証明書を取得

ホストのWindowsのコマンドプロンプトから以下を実行し、証明書ストアを起動。

certmgr.msc

起動した画面から「信頼されたルート証明書」⇒「証明書」を開いて、VPN(GlobalProtect)用の証明書を探してください。多分、名前にVPNとかSIG(Secure Internet Gateway)とかが入っているような気がします。
image.png

証明書を見つけたら、「右クリック」⇒「すべてのタスク」⇒「エクスポート」を選択し、証明書のエクスポート ウィザードを起動。
さらに「次へ」をクリックすると、以下の画面になります。

image.png

「Base 64 encoded X.509」を選択し、「次へ」をクリック。
ファイル名を指定する画面が起動するので、「D:\wsl\wsl-vpnkit\certification_for_VPN.cer」を指定して「次へ」をクリック。
完了画面が表示されるので、「完了」をクリック。

2.2. ゲストOSへ証明書をインストール

Ubuntuで以下のコマンドを順に実行。

sudo cp /mnt/d/wsl/wsl-vpnkit/certification_for_VPN.cer /usr/local/share/ca-certificates/certification_for_VPN.crt
sudo update-ca-certificates

2.3 動作確認

Ubuntuで以下を実行し、エラーにならないことを確認。

wget https://www.google.com -O /tmp/test

実行例

$  wget https://www.google.com -O /tmp/test
--2025-04-11 16:58:15--  https://www.google.com/
Resolving www.google.com (www.google.com)... 172.217.161.196
Connecting to www.google.com (www.google.com)|172.217.161.196|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘/tmp/test’

/tmp/test                                 [ <=>                                                                   ]  17.67K  --.-KB/s    in 0.01s

2025-04-11 16:58:15 (1.39 MB/s) - ‘/tmp/test’ saved [18099]```

以上で、WSL2のLinuxからSSLを用いた通信が可能になります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?