Windows 10 で Windows Subsystem for Linux version 2 (WSL2) または Windows Sandbox 機能を使用する場合、外部ホストへのネットワーク接続に失敗する。Symantec Endpoint Protection (SEP) ファイアウォールにより、WSL2 または Windows Sandbox の IP アドレスのリモート接続が遮断されている。
SEP ファイアウォールは、複数のドライバーを使用して Windows システム上で実行中のアプリケーションとネットワーク接続を追跡します。WSL2 および Windows Sandbox は、Hyper-V 技術を使用して、ホスト NIC から仮想スイッチ経由でゲスト NIC への NAT 接続を作成します。ネットワークの観点から、これらは基本的に Hyper-V の仮想マシンです。アプリケーションはゲスト VM 内で実行され、ホスト OS 上で実行されているドライバによって追跡されることはありません。そのため、ホスト OS 上で動作している SEP ファイアウォールでは、このトラフィックは未承諾の IP トラフィックとして表示され、遮断されます。
例:
WSL2 で apt を使用してアップデートをチェックしようとすると、ホスト NIC からのアウトバウンドトラフィックが遮断されます。
8/6/2021 11:10:39 遮断 発信 TCP security.ubuntu.com [<IP Address>] <MAC Address> 80 <IP Address> <MAC Address> 他のすべての IP トラフィックを遮断してログに記録する
ホスト IP アドレスのすべてのアウトバウンドトラフィックを許可しても、WSL2 NIC に戻るリポジトリからの応答は遮断されたままです。
8/6/2021 15:55:35 遮断 着信 TCP <IP Address> <MAC Address> 51658 <IP Address> <MAC Address> 80 他のすべての IP トラフィックを遮断してログに記録する
また、WSL2 および Windows Sandbox は、起動時に動的に生成されるネットワークアドレスを使用するため、作成したファイアウォールルールは、これらの機能を使用するたびに修正する必要があります。
WSL2 およびサンドボックスのインスタンスへのトラフィックを許可するには、ホスト MAC アドレスと WSL2 / Windows Sandbox MAC アドレスの両方をソースとして許可するファイアウォールルールを作成します。このルールは "他のすべてのトラフィックを遮断する" ルールより上位に配置してください。
注: このルールは WSL2 または Windows Sandbox を起動するたびに更新する必要があります。
もしくはファイアウォールポリシーを無効にするか、ファイアウォール機能をアンインストールします。
注: 上記で問題が解決しない場合は、ファイアウォールのルールを再度確認し、アドレスやネットワークインターフェースなどに正しく適用されていることを確認してください。