WSL2 Ubuntu20.04 无法联网,解决方案
文章目录
- 背景
- 一、快速修复步骤(按顺序尝试)
-
- 1. 重启 WSL2 虚拟化服务
- 2. 重置 Windows 网络适配器
- 二、深度排查与修复
-
- 1. 检查基础网络连通性
- 2. DNS 修复
- 3. 网络配置修复
- 三、高级配置(长期稳定方案)
-
- 1. 创建静态网络配置
- 2. 禁用 Hyper-V 随机 MAC
- 四、验证修复
- 常见错误对照表
- 附:WSL2 网络架构图
背景
在 WSL2 中运行 Ubuntu 20.04 无法联网通常是由于 网络配置冲突 或 DNS 解析问题 导致。以下是系统性解决方案:
一、快速修复步骤(按顺序尝试)
1. 重启 WSL2 虚拟化服务
# 在 Windows PowerShell 中执行:
wsl --shutdown # 关闭所有 WSL 实例
wsl -d Ubuntu-20.04 # 重新启动 Ubuntu
2. 重置 Windows 网络适配器
# 在 PowerShell 中以管理员身份执行:
netsh winsock reset
netsh int ip reset all
netsh winhttp reset proxy
ipconfig /flushdns
# 重启电脑
二、深度排查与修复
1. 检查基础网络连通性
在 Ubuntu 终端中执行:
ping 8.8.8.8 # 测试 IPv4 连通性
ping 114.114.114.114 # 测试国内 DNS 连通性
- 如果 IP 能通但域名无法解析 → 跳转到 DNS 修复
- 如果 IP 不通 → 跳转到 网络配置修复
2. DNS 修复
原因:WSL2 默认从 Windows 继承 DNS,但可能配置被覆盖。
修复步骤:
# 在 Ubuntu 中操作:
sudo rm /etc/resolv.conf # 删除旧配置
sudo bash -c 'echo "nameserver 8.8.8.8" >