VMware Fusion 的三种网络模式
VMware Fusion 主要提供三种网络连接模式,每种模式都有其特定的用途和特点,你可以在虚拟机设置中的“网络”选项卡进行切换。

桥接模式 - 像一台独立的物理机
这是最直观的模式。
- 工作原理:VMware 会在你的物理网络中创建一个“虚拟网卡”,并将你的虚拟机直接连接到这个网卡上,虚拟机就像是局域网中一台独立的、真实的电脑,拥有一个与你的 Mac 和其他设备在同一网段的不同 IP 地址。
- IP 地址获取:通常从你的主路由器(DHCP 服务器)自动获取 IP 地址,你也可以手动为虚拟机设置一个静态 IP。
- 优点:
- 网络完全独立:虚拟机可以像你的 Mac 一样,访问局域网中的任何其他设备(如打印机、另一台电脑),也可以被局域网中的其他设备访问。
- 直接访问互联网:只要你的 Mac 能上网,虚拟机就能直接上网。
- 缺点:
- IP 地址冲突风险:如果你的局域网很大,DHCP 服务器可能会分配到已经被占用的 IP,导致冲突。
- 暴露在局域网中:虚拟机对整个局域网是可见的,可能带来一定的安全风险。
- 适用场景:
- 需要让局域网内的其他设备访问虚拟机(如搭建一个文件服务器、Web 服务器、游戏服务器)。
- 虚拟机需要像物理机一样进行网络测试。
- 你希望虚拟机拥有一个固定的、独立的 IP 地址。
NAT 模式 - 共享主机的网络
这是最常用、最方便的模式,尤其适合普通用户。
- 工作原理:VMware 会创建一个私有的小型局域网(VMnet1),你的虚拟机就连接在这个局域网里,VMware 会在你的 Mac 上运行一个“虚拟 NAT 服务”,这个服务充当“路由器”,负责将虚拟机的网络请求“翻译”并转发到你的物理网络上,简单说,虚拟机通过你的 Mac “共享上网”。
- IP 地址获取:虚拟机从 VMware 的内置 DHCP 服务器(在 VMnet8 网络上)获取一个私有 IP 地址(通常是
168.x.x或x.x.x段)。 - 优点:
- 上网简单:只要你的 Mac 能上网,虚拟机就能上网,无需任何额外配置。
- IP 地址安全:虚拟机使用私有 IP,对外部局域网是不可见的,安全性较高。
- 无 IP 冲突:因为虚拟机在独立的子网中,不会和你的物理设备或局域网中的其他设备发生 IP 冲突。
- 缺点:
- 无法从局域网访问:默认情况下,局域网中的其他设备无法直接访问你的虚拟机。
- 端口转发较复杂:如果需要从外部访问虚拟机(如访问虚拟机里的 Web 服务),需要手动配置端口转发。
- 适用场景:
- 绝大多数日常使用场景:如浏览网页、收发邮件、编程开发、学习等,需要虚拟机能上网即可。
- 不需要被局域网其他设备访问的虚拟机。
仅主机模式 - 创建一个隔离的网络
这是一个最“隔离”的模式。
- 工作原理:创建一个完全孤立的私有网络(VMnet1),这个网络只存在于你的 Mac 和虚拟机之间,与外部物理网络没有任何连接,它不提供任何上网功能。
- IP 地址获取:同样由 VMware 的内置 DHCP 服务器分配私有 IP 地址。
- 优点:
- 高度安全:虚拟机与外部网络完全隔离,无法上网,也无法被外部访问。
- 稳定的测试环境:适合进行安全测试、网络协议开发等,不受外部网络干扰。
- 缺点:
- 无法上网:这是最主要的限制。
- 适用场景:
- 搭建一个完全隔离的测试环境。
- 进行网络安全相关的学习和实验。
- 只需要在虚拟机和 Mac 之间进行通信。
如何查看和修改网络模式
- 关闭虚拟机:更改网络设置前,必须先关闭虚拟机。
- 打开虚拟机设置:
- 在 VMware Fusion 的“库”中,右键点击你的虚拟机,选择“设置”。
- 或者,在虚拟机运行时,点击窗口顶部的“虚拟机”菜单 -> “设置”。
- 找到网络适配器:
在设置窗口左侧的列表中,选择“网络适配器”。
(图片来源网络,侵删) - 选择连接模式:
- 在右侧的“网络连接”部分,你会看到一个下拉菜单,默认是“自动检测”。
- 点击下拉菜单,你就可以看到并选择上述三种模式:桥接、NAT、仅主机模式。
- “自动检测”:这是一个智能选项,如果检测到你的 Mac 有线网络连接,它会优先使用桥接模式;如果只有 Wi-Fi,则可能使用 NAT 模式,通常推荐手动选择,以获得预期的行为。
常见问题与解决方案
虚拟机无法上网怎么办?
这是最常见的问题,请按以下步骤排查:
- 检查 Mac 是否能上网:确保你的 Mac 网络连接正常。
- 检查虚拟机网络模式:
- 如果使用 NAT 模式,通常无需额外配置,检查虚拟机系统内的网络设置是否为“自动获取 IP”(DHCP)。
- 如果使用 桥接 模式,请确保你的 Mac 和虚拟机在同一个局域网内,可以尝试重启虚拟机的网络服务(在 Linux 中通常是
sudo systemctl restart networking或sudo dhclient;在 Windows 中是执行ipconfig /renew)。
- 重置网络:
在 VMware Fusion 菜单栏中,点击“操作” -> “重置网络”,这会重置 VMware 的虚拟网络服务,有时能解决莫名其妙的问题。
- 检查防火墙:
- 检查 Mac 的“系统设置” ->“网络” ->“防火墙”,确保防火墙没有阻止 VMware 的相关服务。
- 检查虚拟机操作系统内部的防火墙(如 Windows Defender 防火墙、Linux 的 iptables),可能需要放行出站连接。
如何从局域网访问我的虚拟机(访问虚拟机里的网站)?
默认情况下,只有桥接模式的虚拟机才能被局域网直接访问,如果使用 NAT 模式,你需要配置端口转发。
以 NAT 模式下访问虚拟机的 Web 服务(端口 80)为例:

- 确定虚拟机的 IP 地址:在虚拟机内部,运行
ifconfig(Linux) 或ipconfig(Windows) 查看其 IP,168.64.10。 - 配置 NAT 端口转发:
- 在 Mac 上,打开“终端”。
- 运行以下命令来编辑 NAT 配置文件(需要管理员权限):
sudo vi /Library/Preferences/VMware\ Fusion/vmnet8/nat.conf
- 在文件中找到
[port forwarding]部分(如果没有,就自己创建)。 - 添加一行规则,格式如下:
[port forwarding] "http" = "192.168.64.10:80""http"是你给这个转发规则起的名字。"192.168.64.10:80"是虚拟机的 IP 和端口号。
- 保存并退出文件。
- 重启 VMware NAT 服务:
- 在终端中运行:
sudo /Applications/VMware\ Fusion.app/Contents/Library/vmnet-cli --stop sudo /Applications/VMware\ Fusion.app/Contents/Library/vmnet-cli --start
- 在终端中运行:
- 访问:你可以在局域网中的任何一台电脑上,通过你的 Mac 的 IP 地址(
168.1.100)加上你定义的规则名(http)来访问虚拟机的 Web 服务了:http://192.168.1.100/http
虚拟机和 Mac 之间如何通信?
- NAT 模式:虚拟机可以访问 Mac 的任何服务(通过虚拟机内的
x.x.x或168.x.x访问
