問題
GlobalProtectを使っているときにWSLから一部のサイトにアクセスできない
原因
GlobalProtectの証明書がWSL環境で登録されていないため
解決方法
GlobalProtectの証明書を登録する
詳細
GlobalProtectとは
Palo Alto Networks社が提供する、モバイルワーカーがどこからでも社内ネットワークやクラウドに安全にアクセスできるようにするためのリモートアクセスVPNソリューション。
症状
環境: Windows 11, WSL, Ubuntu
- 一部のサイトにWSLからアクセスできない
$ curl "https://cloudflarestorage.com"- 失敗
-
https://www.google.com などほかのサイトにはアクセスできる
$ curl "https://www.google.com"- 成功
- Docker pullやDocker compose upをするとX509エラーが発生する
tls: failed to verify certificate: x509: certificate signed by unknown authority.- 失敗
WSLにインストールするべき証明書は?
Cisco Umbrella Root CA
証明書のインストール手順
- Windows 11で「証明書」を開く。ファイル名を指定して実行(Windowsキー+R)から「certmgr.msc」を実行する
- 信頼されたルート証明機関-証明書を選択する
- Cisco Umbrella Root CAを右クリックしてbase64でエクスポートして拡張子を.crtにする(例: your_ca.crt)
- 証明書をWSL Ubuntuに配置する
$ sudo cp ~/your_ca.crt /usr/local/share/ca-certificates/ $ sudo update-ca-certificates - Dockerを再起動する
$ sudo systemctl daemon-reload $ sudo systemctl restart docker - おわり
そのほか
- Windowsの証明書はWSL環境には登録されていない
- ZScalerなども同じだろう(もちろん配置するべき証明書の名前は異なる)
- Dockerをプロキシ下で使うには設定が必要
参考: https://qiita.com/dkoide/items/ca1f4549dc426eaf3735