WSL2 无法在 Windows 11 上访问互联网

Kai*_*igo 8 windows-subsystem-for-linux

我全新安装了 Windows 11,并在 wsl2 内安装了 ubuntu 20.04。

当我尝试执行更新sudo apt update甚至ping google.com我得到

暂时无法解析“archive.ubuntu.com”

名称解析暂时失败

分别出现错误。

我试过了:

  • 使用“允许应用程序通过防火墙”并选择允许 wsl 通过 Windows firefallC:\Windows\System32\wsl.exe

  • 在防火墙中添加端口 3390 的入站规则

  • 将网络配置文件设置为“私有”(尽管如果有办法让 wsl 正常工作,我更愿意将其保持公开)

  • New-NetFirewallRule -DisplayName "WSL" -Direction Inbound -InterfaceAlias "vEthernet (WSL)" -Action Allow从谷歌搜索运行

编辑:此时我已经尝试了所有谷歌结果,但仍然没有解决方案。r/windows11 不会让我发帖,除非是星期一(愚蠢)。还尝试在 wsl 上重新安装 ubuntu,但无济于事。

har*_*ymc 18

造成这一问题的原因不止一个。

WSL2 网络问题和 Win 10 快速启动一文 建议在 Windows 中禁用快速启动:

在此输入图像描述


另一种 解释 是切换网络(如在工作和家庭之间)会混淆 WSL。解决方案是运行.bat包含以下内容的文件:

wsl --shutdown
netsh winsock reset
netsh int ip reset all
netsh winhttp reset proxy
ipconfig /flushdns
netsh winsock reset
shutdown /r
Run Code Online (Sandbox Code Playgroud)

还有一种 解释 是 Windows 自动生成一个resolv.conf带有错误名称服务器的文件。

为了防止这种情况发生,请运行以下命令:

sudo rm /etc/resolv.conf
sudo bash -c 'echo "nameserver 8.8.8.8" > /etc/resolv.conf'
sudo bash -c 'echo "[network]" > /etc/wsl.conf'
sudo bash -c 'echo "generateResolvConf = false" >> /etc/wsl.conf'
sudo chattr +i /etc/resolv.conf
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,但没有用。 (3认同)