深入理解vmware虚拟网络

0x01:vmware workstation
VMware Workstation是一款非常不错的虚拟机软件,许多爱好者用VMware,Workstation设计多种实现环境做测试。VMware Workstation的虚拟网络部分,功能非常的强大,但对于初学者来说,稍显复杂。
0x02:vmware虚拟网络概述
在主机上安装VMware Workstation或VMware Server的时候,默认会安装3块虚拟网卡,这3块虚拟网卡的名称分别为VMnet0、VMnet1、VMnet8,其中VMnet0的网络属性为“物理网卡”,VMnet1与VMnet8的网络属性为“虚拟网卡”。在默认情况下,VMnet1虚拟网卡的定义是“仅主机虚拟网络”,VMnet8虚拟网卡的定义是“NAT网络”,同时,主机物理网卡被定义为“桥接网络”,主机物理网卡也可以称为VMnet0。
0x03:三种网络模式的区别

  • 桥接模式
    如果虚拟机使用“桥接方式”,即VMnet0,则虚拟机相当于主机网络中的一台计算机,虚拟机如果选择VMnet0(或桥接网络),则通过“VMnet0虚拟交
    换机”连接到主机所属网络。
  • 仅主机模式
    当虚拟机选择使用VMnet1虚拟网卡时,表示这台虚拟机连接到VMnet1虚拟交换机。VMnet1,官方定义“仅主机网络”,其默认的网络行为,只与主机或其他使用VMnet1虚拟网卡的虚拟机有网络连接。使用VMnet1虚拟网卡的虚拟机,不能访问与物理主机之外的其他计算机.
  • NAT模式
    如果虚拟机使用VMnet8,也就是使用nat的方式,则虚拟机可以通过主机网络,单向(从虚拟机到主机、外网)访问物理主机之外的网络,而主机以外的网络不能访问使用,VMnet8的虚拟机。但这个的前提是,主机要能访问外网(或网络上的其他计算机),如果主机不能访问外网,则配置为VMnet8虚拟网卡的虚拟机,也不能访问外网。

使用同一种虚拟网卡的虚拟机与主机之间的关系
在默认情况下,VMware Workstation虚拟网络拓扑关系如图所示。

  • vmnet0
    在图中的网络拓扑中可以看到,如果虚拟机A01、A02、A03使用VMnet0虚拟交换机,不管主机VMnet0虚拟网卡,是否设置了正确的IP地址、子网掩码与网关,只要A01、A02、A03设置了正确的IP地址、子网掩码、网关等参数,是可以访问主机之外网络上的其他计算机(例如B),以及Internet网络上的其他计算机(例如Z)。

  • vmnet1
    在图中,虚拟机A11、A12、~、虚拟机A03等,是VMware Workstation(或VMware Server)创建的虚拟机。虚拟机A11、A12、A13使用VMnet1(仅主机网络)虚拟网卡,则在图3-5的网络拓扑中,“相当于”连接到VMnet1虚拟交换机;虚拟机A81、A82使用VMnet8虚拟网卡(NAT网络,则相当于连接到VMnet8虚拟交换机);虚拟机A01、A02、A03使用VMnet0虚拟网卡(桥接网络,相当于连接到VMnet0虚拟交换机)。物理主机B,代表与物理主机A属于同一局域网内的其他一台或多台计算机。这里面的“同一局域网”,表示可以是同一子网(VLAN)的计算机,也可以是不同子网的计算机。Internet计算机Z,代表Internet网络上的其他计算机或服务器,可以是一台或多台的计算机。

    在图中,虚拟机A11、A12、A13使用VMnet1虚拟网卡,表明连接到VMnet1虚拟交换机。在图中的网络拓扑中,虚拟机A11、A12、A13、物理主机A之间可以互相通讯。“可以互相通讯”,这句话表示,当A11、A12、A13、A都连接到VMnet1虚拟交换机时,这4台计算机可以互相通讯,但不一定能通讯。为什么呢?如果A11、A12、A13、A没有设置同一子网的IP地址,这是不能互相通讯(互相访问)的;或者虽然设置同一网段的地址,但A11、A12、A13、A有防火墙,禁止其他计算机访问,这时也是不能通讯的。只有当A11、A12、A13、A连接到同一个虚拟交换机,并且在网一网段(IP地址还不能冲突)、并且没有防火墙(或者有防火墙,但允许其他计算机访
    问)时,才有可能通讯。

  • vmnet8
    虚拟机A81、A82为物理机A上的连接到VMnet8虚拟交换机的虚拟机。则A81、A82可以访问A(双向互访),可以通过“虚拟路由器”单向访问虚拟机A01、A02、A03,并通过A单向访问A所属的网络上的其他计算机B,并可以单向访问Internet网络上的其他计算机Z。但A所属网络上的其他计算机及Internet网络上的其他计算机(默认情况下)不能访问A81、A82,所以说,这里的访问是“单向访问”。

    如果物理网络上的其他计算机(例如B、Z),想要访问A81、A82,则应该通过“VMnet0虚拟交换机”→“VMnet0虚拟网卡”→“虚拟路由器”→“VMnet8虚拟交换机”到A81、A82,但“虚拟路由器”默认配置,是禁止“外网”访问“内网”,在这里,VMnet0虚拟网卡及VMnet0虚拟交换机所属的网络,属性“外网”,而“VMnet8虚拟交换机”所属网络,属于内网。如果配置了这个“虚拟路由器”,例如,使用“端口映射”情况,

    如果物理网络上的其他计算机(例如B、Z),想要访问A81、A82,则应该通过“VMnet0虚拟交换机”→“VMnet0虚拟网卡”→“虚拟路由器”→“VMnet8虚拟交换机”到A81、A82,但“虚拟路由器”默认配置,是禁止“外网”访问“内网”,在这里,VMnet0虚拟网卡及VMnet0虚拟交换机所属的网络,属性“外网”,而“VMnet8虚拟交换机”所属网络,属于内网。如果配置了这个“虚拟路由器”,例如,使用“端口映射”情况,

使用同一种虚拟网卡的虚拟机与主机之间的关系
前面介绍了使用同一种虚拟网卡的虚拟机与主机之间的关系,那么,在同一个物理主机中,使用不同虚拟网卡的虚拟机,它们之间是什么关系呢?

  • 1 VMnet1默认不能访问VMnet8与VMnet0
    从图3-10中可以看到,连接到VMnet1的虚拟机(A11、A12、A13),与连接到VMnet8的虚拟机以及连接到VMnet0的虚拟机(A01、A02、A03),默认情况下,是不能互相访问的。如果它们之间要想互相访问,必须在物理主机A上,启用默认路由或者代理服务器功能,才可以互相(或者单向)访问。例如,物理主机可以安装Windows Server 2003(或Windows 2000 Server、Windows Server 2008),在该计算机上,启用“路由和远程访问”功能,并且将该计算机做成一个“路由器”,这时候,各虚拟机之间,可以互相访问。如果物理主机安装的是Windows 2000、XP等操作系统,可以启用“Internet连接共享功能”,让VMnet1单向访问VMnet8或VMnet0,反之亦然。例如,可以让
    VMnet8单向访问VMnet1等,这都是很容易的事情。

  • 2 VMnet8默认不能访问VMnet1
    VMnet8在默认情况下,不能访问VMnet1,可以通过虚拟路由器,单向访问VMnet0。如果VMnet8想要访问VMnet1,则像VMnet1访问VMnet8一样,在主机A上启用“路由器”或“Internet连接共享服务”。

  • 3 VMnet0默认不能访问VMnet8、VMnet1
    VMnet0 默认情况下,不能访问 VMnet1 与 VMnet8。如果要想访问 VMnet8,除了启用“路由器”或“Internet 连接共享外”,还可以通过配置“VMnet8”到“VMnet0”之间的“虚拟路由器”,进行端口映射的方式,访问 VMnet8 中的虚拟机。

希望大佬多多指正。。。
*******************************不积跬步无以至千里。*******************************

猜你喜欢

转载自www.cnblogs.com/liangxiyang/p/11443094.html