在虚拟机上网方式中,哪种最常用却最令人困惑?答案通常是NAT。从原理上看,NAT模式兼具配置简洁性和网络隔离性,但对于新手而言,数据包的流转机制往往难以理解。下面通过一个简单的类比来深入解析虚拟机NAT网络的工作原理。
假设有一位R老师,管理着三个班级——a班、b班、c班。每个班级内部,同学之间可以直接喊名字交流,就像同一网段的计算机通过广播通信。但不同班级之间有墙壁阻隔,a班喊b班的名字对方听不见,这对应不同网段的计算机无法直接通信。要实现跨班交流,只能由R老师充当传话人:a班同学告诉R老师,R老师再转告给b班同学。
把这个例子映射到网络世界:
- 学校 → 互联网
- 班 → 网段
- 学生 → 计算机
- 老师(传话人)→ 虚拟的NAT服务器
虚拟机采用NAT模式上网,正好与例子中第二种交流方式类似。而桥接模式则对应第一种——班级内部直接呼喊。如果你安装了VMware虚拟系统并选择NAT模式,虚拟NAT服务器就扮演R老师的角色,负责虚拟机(a班同学)与互联网上的计算机(c班同学)之间的通信。

通过图示可以更直观理解。NAT网络模式有两个显著特点:
- 宿主机虚拟网卡无需手动配置(默认自动获取IP地址)
- 虚拟机中的网卡同样无需手动设置(默认自动获取)
这两个特点成立的前提是VMware虚拟DHCP服务正常运行。接下来再看两张图示:


通过上述三张图,基本逻辑已经清晰。但仅看图还不够,还需要实际验证。图中192.168.2.2相当于R老师的角色,即虚拟NAT服务器(图1已标出),图3则展示了NAT的IP地址范围。接下来查看宿主机与虚拟机的实际IP配置:
主机的ipconfig(图4):

虚拟机的ipconfig(图5):

接下来使用tracert命令验证虚拟机确实通过NAT服务器192.168.2.2上网。tracert命令可以显示数据包到达目标主机的完整路径,包括每个节点的IP地址和延迟时间,比ping更详细,适合排查复杂网络问题。在虚拟机中执行tracert baidu.com,观察数据包如何到达百度,以及路径中是否包含192.168.2.2(虚拟NAT服务器)。
VMware虚拟机网络核心知识
1. 虚拟网桥
虚拟网桥将虚拟机的虚拟网卡与宿主机的物理网卡相连,从而使虚拟机能够接入宿主机所在的物理网络。如果宿主机拥有多个物理网卡,可以通过自定义配置创建额外的虚拟网桥,连接其他物理网卡。
2. 宿主机虚拟网卡
安装VMware后,右键点击“网上邻居”→“属性”,可在网络连接窗口中看到两块虚拟网卡:VMware Network Adapter VMnet1(仅用于仅主机模式网络)和VMware Network Adapter VMnet8(用于NAT网络)。右键查看属性,在“常规”标签下可查看虚拟网卡的全称。也可以在宿主机命令提示符中输入ipconfig获取更详细信息。
3. NAT设备
NAT即网络地址转换(Network Address Translation)。当宿主机仅有一个外部IP地址时,借助NAT设备,虚拟机仍能访问外部网络。在宿主机“管理工具”→“服务”中,可以看到名为VMware NAT Service的服务,表明它已作为系统服务安装。
4. VMware DHCP服务
DHCP(动态主机配置协议)服务为未桥接到外部网络的虚拟机自动分配IP地址。而采用桥接模式的虚拟机,其IP地址由宿主机所在物理网络的DHCP服务器直接分配。
以下图示展示了VMware提供的虚拟网卡结构(点击查看大图):



