如果 WSL2 虚拟机突然无法联网,可能是由于网络配置问题、WSL2 服务异常或主机网络设置变化导致的。以下是排查和解决问题的步骤:

1. 检查 WSL2 网络连接

在 WSL2 中运行以下命令,检查网络是否正常:

ping 8.8.8.8
  • 如果能 ping 通 IP 地址,但无法访问域名(如 google.com),可能是 DNS 配置问题。
  • 如果无法 ping 通 IP 地址,可能是网络配置或 WSL2 服务问题。

2. 检查 WSL2 的 DNS 配置

WSL2 的 DNS 配置可能丢失或错误。编辑 /etc/resolv.conf 文件:

sudo nano /etc/resolv.conf

确保内容包含有效的 DNS 服务器,例如:

nameserver 8.8.8.8
nameserver 8.8.4.4

此时,可以正常联网

3. 禁用 WSL 自动生成 resolv.conf

1️⃣ 编辑 WSL 配置文件
sudo nano /etc/wsl.conf

写入:

[network] 
​​​​​​​generateResolvConf = false 
2️⃣ 删除旧的 resolv.conf
sudo rm /etc/resolv.conf 
3️⃣ 手动创建 resolv.conf
sudo nano /etc/resolv.conf 

例如:

nameserver 8.8.8.8 nameserver 1.1.1.1 
4️⃣ 锁定文件(防止误覆盖)
sudo chattr +i /etc/resolv.conf 
5️⃣ 重启 WSL(必须)

Windows PowerShell / CMD 中执行:

wsl --shutdown 

然后重新打开 Ubuntu。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐