発生事象
Windows環境において、Cisco AnyConnectを用いてVPN接続した場合、WSL2のLinuxディストリビューションからDNSで名前解決ができなくなり、インターネットにアクセスできない事象が発生するケースがあります。
当記事ではその際の対処法を示します。
なお、以下の環境において有効であることを確認しています。
- Windows 10 (OSビルド:19042)
- Ubuntu 20.04 (Linuxディストリビューション)
- AnyConnect 4.9.01095
対処法
AnyConnectでVPN接続したときや、WSL2のLinuxディストリビューションを起動・再起動した都度、以下を実行する。
- (未接続の場合)AnyConnectでVPN接続する
-
ホスト(Windows)側で、管理者権限でPowerShellを起動し、以下のコマンドを実行する
Get-NetAdapter | Where-Object {$_.InterfaceDescription -Match "Cisco AnyConnect"} | Set-NetIPInterface -InterfaceMetric 6000
Linuxディストリビューション側で、以下リンク先の
wsl-fix-resolvconf.sh
を実行する(実行するとsudoが求められるので、実行ユーザのパスワードを入力する)
Gist / wsl-fix-resolvconf.sh
参考
以下のページを参考にしました。