🐥

WSLでVPN接続問題を解決するwsl-vpnkit

2023/10/30に公開

凄すぎる

こんな記事があった

https://qiita.com/utkamioka/items/d99818879ce4bc4c7c98

(゚-゚)(。。)ウンウン

やっぱりそうなるよね。
うちも一度それでハマって、
こんな記事を書いた

Cisco Annyconnect VPNでWSLから外部へアクセスできない問題を解決する方法

どうにか使い物になるようにしたものだが、
正直毎回接続でコマンドをわちゃわちゃしなきゃならないのが煩わしすぎた。

ある時Qiitaの記事のブックマークコメントを眺めていたら、
以下のツールが紹介されていた。

それが、
wsl-vpnkit

VPN問題をあっさり解決してくれるツールっぽい
ちょっと試してみよう

ヾ(・ω<)ノ" 三三三● ⅱⅲ コロコロ♪

------------------- ↓ 本題はここから ↓-------------------

接続できないことを確認

VPN接続後、wslを起動してgoogle.comに接続できないことを確認

bash
dig google.com
;; communications error to 172.26.64.1#53: timed out
;; communications error to 172.26.64.1#53: timed out
;; communications error to 172.26.64.1#53: timed out

; <<>> DiG 9.18.17 <<>> google.com
;; global options: +cmd
;; no servers could be reached

(´・ω・`) timed out...

wsl-vpnkitのインストール

wsl-vpnkitはwsl.exe経由で動かすためのaplineコンテナ
ビルド済みのものがGithubにあるので、
それをimportして使う

最新版はこちらで確認

https://github.com/sakai135/wsl-vpnkit/releases/latest

保存先ディレクトリをc:\WslVpnkitとすると

powershell
curl -LO https://github.com/sakai135/wsl-vpnkit/releases/download/v0.4.1/wsl-vpnkit.tar.gz
wsl --import wsl-vpnkit c:\WslVpnkit wsl-vpnkit.tar.gz
wsl -d wsl-vpnkit
exit

アップデートはインスタンス作り直すの斬新だなぁ

特定のディストリビューションのsystemdに登録

インストールが完了したら、
普段使用しているOSのSystemdに登録する
インスタンス名をfedoraとすると

powershell
wsl -d fedora
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 --now
systemctl status wsl-vpnkit.service
  ● wsl-vpnkit.service - wsl-vpnkit
     Loaded: loaded (/etc/systemd/system/wsl-vpnkit.service; enabled; preset: disabled)
    Drop-In: /usr/lib/systemd/system/service.d
             └─10-timeout-abort.conf
     Active: active (running) since Mon 2023-10-16 13:42:56 JST; 1h 5min ago

再びGoogleに接続

bash
dig google.com
  ; <<>> DiG 9.18.19 <<>> google.com
  ;; global options: +cmd
  ;; Got answer:
  ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50780
  ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

  ;; QUESTION SECTION:
;google.com.                    IN      A

  ;; ANSWER SECTION:
google.com.             0       IN      A       172.217.175.46

  ;; Query time: 10 msec
  ;; SERVER: 172.26.64.1#53(172.26.64.1) (UDP)
  ;; WHEN: Tue Oct 17 09:15:13 JST 2023
  ;; MSG SIZE  rcvd: 54

(」・ω・)」すー!(/・ω・)/げー!

------------------- ↓ 後書きはここから ↓-------------------

WSL2.0.5以降で動作不良

以下のissueが立っていた

https://github.com/sakai135/wsl-vpnkit/issues/246

当方でもWSLバージョンアップ時に動作しなくなった
原因はわからないので修正待ちとして、
とりあえず常駐させればVPNアクセスはできるっぽい

wsl.exe -d wsl-vpnkit --cd /app wsl-vpnkit &

Discussion