WSL2和vmware同时使用(共存)时网络配置,VMware无法上网问题解决
共存网络架构原理
-
冲突根源
- WSL2依赖Hyper-V虚拟化层,而传统VMware版本需独占CPU虚拟化资源(VT-x/AMD-V),导致兼容冲突。
- 新版本改进:VMware 17.0+ 及Windows 11支持Windows Hypervisor Platform (WHP),允许Hyper-V与VMware共享虚拟化资源,实现共存。
-
网络模式差异
- WSL2默认:NAT模式(通过
localhost访问服务) 。 - VMware常用:NAT或桥接模式,但桥接易与WSL2冲突(抢占物理网卡)。
最佳实践总结
| 场景 | 推荐配置 |
|---|---|
| 轻度开发(WSL2使用更多) | WSL2用Mirrored模式 + VMware用NAT+端口映射 |
| 需独立IP(如服务器模拟) | WSL2用桥接(物理网卡空闲时),VMware用NAT |
本人为程序开发为主,VMware只是偶尔使用,所以推荐使用WSL2用Mirrored模式 + VMware用NAT+端口映射的方式。
- WSL2用Mirrored模式
新建C:\Users\<用户名>\.wslconfig文件(例如:C:\Users\Alice\.wslconfig,若首次配置,需自行创建此文件,无需扩展名),添加:
[wsl2] networkingMode=mirrored # 完全共享主机网络配置 localhostForwarding=true # 自动端口转发
生效命令:
wsl --shutdown # 关闭 WSL
wsl # 重新启动
验证:
Windows与WSL2执行curl ifconfig.me,若出口IP一致则成功
-
VMware网络配置
NAT模式 + 端口映射
步骤:
1.虚拟机设置 → 网络适配器 → NAT模式。

2. 如果需要端口转发,需要先给虚拟机配置固定ip地址。ip地址需要根据WMware的NAT地址配置,通过VMware菜单:编辑 → 虚拟网络编辑器,查看

虚拟机IP网段与VMware的NAT子网一致,如下图:

3. 配置端口转发:
VMware菜单:编辑 → 虚拟网络编辑器 → NAT设置 → 添加映射规则。如下图:

如果NAT不能设置,请以管理员身份运行VMware。
桥接模式(高级需求)
需WSL2独立IP(非默认推荐):
- 创建外部虚拟交换机:
# 管理员PowerShell New-VMSwitch -Name "WSLBridge" -NetAdapterName "以太网" -AllowManagementOS $True
- 配置
.wslconfig(新建或编辑C:\Users\<用户名>\.wslconfig文件):
[wsl2] networkingMode=bridged vmSwitch=WSLBridge # 与交换机名一致
- 重启WSL:
wsl --shutdown # 关闭 WSL
wsl # 重新启动
⚠️ 注意:桥接模式可能因物理网卡冲突导致VMware无法上网

浙公网安备 33010602011771号