参考产品:VMware Workstation Pro 6.0
VMware Workstations基本的网络模式包括:桥接模式
、NAT
以及仅主机
,与此同时,还存在自定义
的扩展模式。
桥接模式网络连接通过使用主机系统上的网络适配器将虚拟机连接到网络。如果主机系统位于网络中,桥接模式网络连接通常是虚拟机访问该网络的最简单途径。
通过桥接模式网络连接,虚拟机中的虚拟网络适配器可连接到主机系统中的物理网络适配器。虚拟机可通过主机网络适配器连接到主机系统所用的LAN (注:在此模式下,局域网中的其他设备才能实现与虚拟机的双向通信) 。桥接模式网络连接支持有线和无线主机网络适配器。
桥接模式网络连接将虚拟机配置为在网络中具有唯一标识**(注:虚拟机的IP由现实网络中的DHCP服务器分配;如果没有DHCP服务器,则需要自己手动配置)**,与主机系统相分离,且与主机系统无关。虚拟机可完全参与到网络活动中。它能够访问网络中的其他计算机,也可以被网络中的其他计算机访问,就像是网络中的物理机那样。
当您将 Workstation Pro 安装到 Windows 或 Linux 主机系统时,系统会设置一个桥接模式网络 (VMnet0)。
引导多个操作系统的用户通常会将同一地址分配到所有系统,因为他们假定一次只运行一个操作系统。如果主机系统被设置为引导多个操作系统,而您要在虚拟机中运行其中的一个或多个操作系统,则必须为每个操作系统配置一个唯一的网络地址。
注:可以同时存在多个“桥接模式”网络。同时,能够像正常的物理主机一样与外部网络交互(全开放)。
使用 NAT 模式网络时,虚拟机在外部网络中不必具有自己的 IP 地址。主机系统上会建立单独的专用网络。在默认配置中,虚拟机会在此专用网络中通过 DHCP 服务器获取地址。虚拟机和主机系统共享一个网络标识,此标识在外部网络中不可见。
虚拟机和主机系统共享一个网络标识,此标识在外部网络中不可见。NAT 工作时会将虚拟机在专用网络中的 IP 地址转换为主机系统的 IP 地址。当虚拟机发送对网络资源的访问请求时,它会充当网络资源,就像请求来自主机系统一样。
注:由于对外网络标识不可见(即:虚拟机中查询到的IP地址只在NAT网络内具有意义),因此网络数据包只能够由NAT网内的虚拟机发出,并由物理主机进行中转。而NAT网络外的设备无法主动发起连接,例如:同一物理局域网下的其他设备无法通过SSH连接到虚拟机,因为没有对应IP的路由
当您将 Workstation Pro 安装到 Windows 或 Linux 主机系统时,系统会设置一个 NAT 模式网络 (VMnet8)。在您使用新建虚拟机向导创建新的虚拟机并选择典型配置类型时,该向导会将虚拟机配置为使用“默认” NAT 默认网络。
注:只能有一个“NAT模式”网络。同时,同一NAT网络内的虚拟机也能互相访问(半开放)。
我们以同一物理LAN下的其他设备想通过SSH连接虚拟机这一场景为例:
假设虚拟机(记为Vir)在NAT网络中分配到的ip地址为192.168.100.10,SSH进程的端口号为22;宿主机(记为A)在物理网络上的ip地址为192.168.10.2;宿主机所在LAN中的网关地址为192.168.10.1;与宿主机同一LAN下的某设备(记为B)ip地址为192.168.10.3;
在解释问题前,先简述一下NAT模式下,虚拟机访问Internet的原理,虚拟机Vir通过某个随机端口(例如8080)向某个网站80端口发送请求。此时通过NAT设备的映射,会通过宿主机B的某个随机端口(例如8888)代理此请求,即构成:192.168.100.10:8080 -> 192.168.10.2:8888的映射,远端网站在解析请求后,会直接与192.168.10.2:8888建立TCP连接,发送HTTP数据包,再由NAT设备反向解析,发送给虚拟机Vir设备的8080端口,从而实现通信。基于这样的模式在看同一LAN下的设备A想主动访问虚拟机Vir的场景。
现设备B想要通过 ssh 192.168.100.10:22 连接Vir,“请求数据包”会首先发往网关192.168.10.1,由于数据的目的地址为192.168.100.10,与网关不在同一网段,因此需要查看路由表。然而,虚拟机Vir与外界建立通信全部是由宿主机A进行代理转发,即使用A的ip地址进行通信,所以网关设备中不会存在ip地址192.168.100.10的路由信息。因此,网关设备会丢包,超过一段时间后设备B的连接会Time Out。
如果使用 NAT 的虚拟机所尝试连接的服务器需要客户端使用 1024 以内的源端口(即物理主机映射的端口号),NAT 设备必须从 1024 以内的端口转发请求。出于安全目的,某些服务器只能接受来自 1024 以内源端口的连接。
仅主机模式网络连接可创建完全包含在主机中的网络。仅主机模式网络连接使用对主机操作系统可见的虚拟网络适配器,在虚拟机和主机系统之间提供网络连接。
当您将 Workstation Pro 安装到 Windows 或 Linux 主机系统时,系统会设置一个仅主机模式网络 (VMnet1)。
虚拟机和主机系统之间的网络连接由对主机操作系统可见的虚拟网络适配器提供。虚拟 DHCP 服务器可在仅主机模式网络中提供 IP 地址。
在默认配置中,一般情况下,仅主机模式网络中的虚拟机无法连接到 Internet。如果主机系统上安装了适当的路由或代理软件,您可以在主机系统的主机虚拟网络适配器和物理网络适配器之间建立连接,从而将虚拟机连接到令牌环网络或其他非以太网网络。
特殊情况:在 Windows 主机中,您可以结合使用仅主机模式网络连接和 Windows 的 Internet 连接共享功能,让虚拟机能够使用主机系统的拨号网络连接适配器或其他 Internet 连接。
注:可以同时存在多个“仅主机模式”网络。同时,同一网络内的虚拟机也能互相访问,但无法与外界网络互通(全封闭)。
避免IP数据包外泄:每个仅主机模式网络都应当被限制为其设置时所在的主机系统内。虚拟机在该网络上发送的数据包不应当外泄到与主机系统相连的物理网络中。只有在计算机主动转发数据包时,才会发生数据包泄漏。
利用 Workstation Pro 虚拟网络连接组件,您可以创建复杂的虚拟网络。虚拟网络可以连接到一个或多个外部网络,也可以在主机系统中完整独立地运行。您可以使用虚拟网络编辑器来配置主机系统中的多个网卡,并创建多个虚拟网络。
不同网络模式的特性可概述如下:
根据VMware公司官方文档的描述,根据不同的应用场景有如下的网络连接类型方案的选择:
桥接、NAT或仅主机模式
网络连接类型,或者选择自定义网络
或LAN区段
;桥接、NAT或仅主机模式
网络连接类型;自定义网络
;配置桥接模式网络连接后,虚拟机使用主机系统上的物理网络适配器连接网络。
配置网络地址转换 (NAT) 时,虚拟机会共享主机系统的 IP 地址和 MAC 地址。
配置仅主机模式网络连接时,Workstation Pro 会在虚拟机和主机系统之间创建一个虚拟专用网络 (VPN) 连接。
自定义网络是指您使用虚拟网络编辑器创建的网络。在修改本地虚拟机的网络连接设置时,您可以选择自定义网络。对于远程虚拟机,必须选择一个自定义网络。对于共享虚拟机,则无法选择自定义网络。
在选择 LAN 区段时,虚拟机使用可以与其他虚拟机共享的专用网络。LAN 区段可用于多层测试、网络性能分析以及注重虚拟机隔离的环境。
[1] 网络配置模式, https://docs.vmware.com/cn