在 Windows 11 中,我需要 WSL 2 具有带有 systemd 的发行版,因此我安装了两者。
它打开没有问题,但没有互联网。
我猜测该问题与 DNS 无关,因为它也出现在诸如ping 8.8.8.8
或 ping 到“分发”ip 本身之类的事情上ping 172.x.xxx.x
(如在 Windows 端所见ipconfig /all
)。
这篇文章类似于:
https://github.com/microsoft/WSL/issues/5336
如果我将已安装的 Ubuntu 发行版转换为 WSL 1,则使用wsl --set-version Ubuntu 1
,互联网和 ping 可以完美运行(但我需要 wsl2 systemd)。我遵循了 10 多个不同页面的建议(参见编辑),但没有任何效果。这些与 、/etc/resolv.conf
防火墙、VPN、Hyper-V 和 WSL 功能重新安装、交换禁用/压缩、临时文件夹压缩、IPv6 禁用、更改路由器等方面的更改有关。github 帖子有大约 200 条评论,我想我已经尝试了其中包含的所有答案。
一旦我转换回版本 2,远程或本地 ping WSL IP 本身(172.XX.XXX.X)就会中断。
有什么建议吗?
编辑:我的防火墙已停用但未卸载,请参阅答案。
答案1
我最终做的是重置 Windows(保留个人文件 - 丢失所有应用程序),而且这种方法很有效。
为了能够正常systemd
工作(仅由 WSL 2 提供),必须安装来自 Microsoft Store 的 WSL(参见 AskUbuntu)
在重新安装我的应用程序时,我注意到在 WSL2 Ubuntu 中安装 ZoneAlarm 防病毒软件和防火墙与缺少互联网之间存在完全关联。奇怪的是,将防病毒软件和防火墙置于非活动状态也会阻碍 WSL 的连接。因此,必须完全卸载 ZA。复制问题很容易,因为卸载后连接会立即恢复,安装后(无论是否处于非活动状态)会立即丢失。
ZA 的版本是 4.0.148.0(ZA)或 4.000.0148(根据 Windows)