如何在家庭WiFi中实现跨Win10主机VMware虚拟机通信
搞定跨主机访问NAT模式虚拟机的方案
我来帮你解决这个问题!NAT模式默认会把虚拟机隔离在宿主主机的私有子网里,所以同一局域网的其他主机直接访问不到是正常现象,咱们有两种靠谱的解决办法,按需选就行:
方法一:切换到桥接模式(最简单直接)
如果没有必须用NAT模式的理由,这是最省心的方案:
- 先关闭你的Ubuntu虚拟机,打开VMware Workstation的「虚拟机设置」
- 找到「网络适配器」,把网络连接改成桥接模式,同时勾选「复制物理网络连接状态」
- 启动虚拟机,让Ubuntu自动获取IP(或者手动设置一个和两台Win10主机同网段的静态IP)
- 现在第一台主机就能直接ping通虚拟机的IP了——因为桥接模式下,虚拟机和你的Win10主机处于同一个局域网子网,相当于局域网里的另一台独立设备
方法二:保留NAT模式,配置端口映射(适合必须用NAT的场景)
如果一定要用NAT模式,咱们需要做端口映射和防火墙配置:
- 确认VMware NAT的子网信息
- 打开VMware Workstation,点击顶部菜单「编辑」→「虚拟网络编辑器」
- 选中默认的VMnet8(NAT对应的虚拟网卡),记下子网IP段(比如
192.168.159.0/24)和网关地址(一般是.2,比如192.168.159.2)
- 给Ubuntu虚拟机设置静态IP
- 登录Ubuntu,编辑网络配置文件(不同版本路径可能不同,这里以Netplan为例):
sudo nano /etc/netplan/00-installer-config.yaml - 填入类似下面的配置(替换成你刚才记下的子网信息):
network: ethernets: ens33: addresses: [192.168.159.100/24] gateway4: 192.168.159.2 nameservers: addresses: [8.8.8.8, 1.1.1.1] version: 2 - 保存后应用配置:
sudo netplan apply - 用
ip addr show确认IP已经设置成功
- 登录Ubuntu,编辑网络配置文件(不同版本路径可能不同,这里以Netplan为例):
- 配置VMware NAT端口映射
- 回到虚拟网络编辑器,选中VMnet8,点击「NAT设置」
- 点击「添加」,设置映射规则:比如主机端口填
2222,虚拟机IP填刚才设置的192.168.159.100,虚拟机端口填22(SSH端口);如果需要ping,还得确保ICMP流量能通过
- 调整防火墙规则
- 在第二台Win10主机上,打开「Windows Defender防火墙高级设置」,添加入站规则:允许ICMPv4请求,或者允许来自第一台主机IP的流量访问虚拟机子网
- 在Ubuntu虚拟机里,允许ICMP请求(方便ping测试):
sudo ufw allow icmp - 确保VMware的「VMware NAT Service」和「VMware DHCP Service」处于运行状态
完成这些步骤后,第一台主机就能通过第二台Win10的IP+映射端口访问虚拟机了(比如SSH连接:ssh 用户名@第二台Win10IP -p 2222)。如果只是要ping的话,桥接模式会更直接哦!
内容的提问来源于stack exchange,提问作者Sam-T




