WSL2和vmware同时使用(共存)时网络配置,VMware无法上网问题解决

共存网络架构原理

  1. 冲突根源

    • WSL2依赖Hyper-V虚拟化层,而传统VMware版本需独占CPU虚拟化资源(VT-x/AMD-V),导致兼容冲突。
    • 新版本改进:VMware 17.0+ 及Windows 11支持Windows Hypervisor Platform (WHP),允许Hyper-V与VMware共享虚拟化资源,实现共存。
  2. 网络模式差异

    • 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(非默认推荐):

  1. 创建外部虚拟交换机:
# 管理员PowerShell 
New-VMSwitch -Name "WSLBridge" -NetAdapterName "以太网" -AllowManagementOS $True
  1. 配置.wslconfig(新建或编辑C:\Users\<用户名>\.wslconfig文件)
[wsl2] networkingMode=bridged vmSwitch=WSLBridge # 与交换机名一致
  1. 重启WSL:
wsl --shutdown # 关闭 WSL 
wsl # 重新启动

⚠️ 注意:桥接模式可能因物理网卡冲突导致VMware无法上网

posted @ 2025-07-09 09:12  youcanaskme  阅读(1446)  评论(0)    收藏  举报