Microsoftは3月22日(現地時間)、Windows Subsystem for Linux(WSL)の最新版となるWSL 2.2.1をGitHubリポジトリ上で公開した。このアップデートにおける大きな変更点として、DNSトンネリング機能がデフォルトで有効化されたことが挙げられる。DNSトンネリングは、WSL環境からのDNS問い合わせがエラーになって外部ネットワークにアクセスできなくなる問題を解消するための技術。その利用により、WSLからより安定して外部ネットワークに接続できるようになる。

  • Release 2.2.1 · microsoft/WSL · GitHub

    Release 2.2.1 · microsoft/WSL · GitHub

WSLのDNSトンネリングとは

WSL 2では、Linux環境からのDNS問い合わせパケットが仮想スイッチ経由でWin32側に送られ、Win32側で改めてDNS問い合わせを行う仕組みになっている。この過程で、ファイアウォール設定やVPN、その他のネットワーク設定の影響によってDNS問い合わせがエラーになり、外部ネットワークに接続できなくなることがある。

DNSトンネリングは、この問題を解決する方法として実装された。DNSトンネリングを有効にすると、DNS問い合わせは仮想スイッチを経由せずに直接Win32側に送られるため、ネットワーク設定の影響を受けることなくDNS問い合わせを行えるようになる。

WSLのDNSトンネリング機能はバージョン2.0.0で初めて実装され、2.1.0で一度デフォルトで有効化されたが、その後Docker関連での問題が見つかり2.1.1でデフォルト無効に戻された。今回はLinuxネイティブのDockerサポートも統合した上で、再びデフォルトで有効化されるようになった。

WSL 2.2.1のその他の変更点

DNSトンネリングの他には、WSL 2.2.1では主に次のような変更が加えられている。

  • 再利用モードのデフォルトの設定値がキャッシュをドロップする「drop_cache」に変更された
  • ディストリビューションの初期化中にゲストがクラッシュした場合にWSLがハングアップする問題が修正された
  • Microsoft.WSL.Kernelがバージョン5.15.150.1-2にアップデートされた
  • WILがバージョン1.0.240308.1にアップデートされた