郑重声明,此文太好,按耐不住要保存起来好好研究研究,如果侵权,联系我。

转载自王春海的http://blog.51cto.com/wangchunhai/381225,有所更改。

同时可以参考:https://www.cnblogs.com/sddai/p/9280119.html

https://blog.csdn.net/bob_666/article/details/81412242

https://www.2cto.com/kf/201804/737125.html

VMware Workstation的虚拟网络部分,功能非常的强大,但对于初学者来说,稍显复杂。基于此,本文将深入介绍VMware的虚拟网络,让读者深刻理解VMware虚拟网络之间的关系,从而可以设计多种复杂的广域网、局域网的实验环境,满足读者的实验需求。

3.1 VMware虚拟网络概述

VMware Workstation安装在物理计算机,这台计算机称作“主机”,假设这台主机有一块物理网卡,并且连接到网络的一台交换机中,此时,网络拓扑如图3-1所示。

图3-1 主机物理网络

【关键点】VMware Workstation,支持VMnet0~VMnet9共10块(虚拟)网卡,对于每一块虚拟网卡来说(VMnet0~VMnet9),同一时刻只能选择一种网络属性:或者使用主机物理网卡,或使用虚拟网卡。

在VMware虚拟网络中,包括两种网络:一种是“仅主机网络”,另一种是“NAT网络”。对于VMware Workstation主机来说,可以有多块虚拟网卡具有“仅主机网络”特性,但同一时刻只能有1块虚拟网卡具有“NAT网络”属性。

在主机上安装VMware Workstation的时候,默认会安装3块虚拟网卡,这3块虚拟网卡的名称分别为VMnet0、VMnet1、VMnet8,其中VMnet0的网络属性为“物理网卡”,VMnet1与VMnet8的网络属性为“虚拟网卡”。在默认情况下,VMnet1虚拟网卡的定义是“仅主机虚拟网络”,VMnet8虚拟网卡的定义是“NAT网络”,同时,主机物理网卡被定义为“桥接网络”,主机物理网卡也可以称为VMnet0

在默认情况下,VMware Workstation虚拟网络拓扑关系如图3-2所示。

图3-2 虚拟机网络拓扑

在图3-2中,有3个虚拟交换机、2块虚拟网卡、1块物理网卡、1个虚拟路由器,组成了默认虚拟网络的整个结构。当VMware Workstation安装的时候,会从192.168.x.0/24的地址中,随机选择2个地址段,并将每个段的第1个地址分配给对应的虚拟网卡(VMnet1与VMnet8)使用。

在图3-2中, VMnet1使用了192.168.10.0/24、VMnet8使用了192.168.80.0/24的地址段,这是我习惯使用的地址段,你可以根据自己的爱好与习惯设置。如果你想修改这些IP地址,在后文会有介绍。

在图3-2中,还有1个虚拟DHCP服务器没有标出,该虚拟DHCP服务器,用来为使用VMnet1、VMnet8(或其他)虚拟网卡(或者说连接到VMnet1、VMnet8虚拟交换机)的虚拟机自动分配IP地址、子网掩码、网关与DNS等参数。

3.2 虚拟机与虚拟网卡、网络属性

在VMware Workstation中,每个虚拟机最多可以支持10块虚拟网卡,这些虚拟网卡,可以(根据需要)连接到不同的虚拟网络,例如图3-2中的VMnet1、VMnet8或VMnet0虚拟交换机。有两种情况可以选择虚拟网络,一种是在创建虚拟机的时候,另一种是在创建虚拟机后,在“虚拟机设置”中修改虚拟网络属性。

(1)在创建虚拟机的时候,在“Network Type(网络属性)”页中,在“Network connection(网络连接)”选项组中,为当前虚拟机选择连接到的虚拟网络,如图3-3所示。

图3-3 网络属性

(2)在虚拟机创建完成后,修改“虚拟机设置”,也可以修改虚拟网络属性,如图3-4所示。

图3-4 修改虚拟机设置

不管是在创建虚拟机的时候,选择网络属性,还是在“虚拟机设置”页中,每块虚拟网卡,都有3种选择,分别是VMnet0(桥接网络)、VMnet1(仅主机网络)与VMnet8(NAT网络)三种连接属性,还有一种是“不使用网络连接”,就是表明这块虚拟网卡,不连接到任何网络。下面分别介绍连接到VMnet1、VMnet8、VMnet0虚拟交换机时的网络属性。

【说明】(1)在VMware Workstation 6.0之后,新增加了“Team”功能,同时在“Team”中也增加了Team虚拟交换机。在Team中的虚拟机,除了可以使用VMnet0、VMnet1、VMnet8等虚拟交换机外,还可以使用Team中的虚拟交换机。

(2)VMware Workstation,除了VMnet0、VMnet1、VMnet8虚拟交换机外,还可以创建(或添加)VMnet2~VMnet7、VMnet9等虚拟交换机,这些虚拟交换机的属性,可以在“仅主机网络”、“桥接网络”、“NAT网络”之间选择。

3.3 VMnet1、VMnet8、VMnet0虚拟网卡的关系

在VMware Workstation或VMware Server的虚拟机中,虚拟机之间、主机之间的网络关系可以参照图3-5所示的网络拓扑。

图3-5 虚拟机与主机网络拓扑

在图3-5中,虚拟机A11、A12、~、虚拟机A03等,是VMware Workstation创建的虚拟机。虚拟机A11、A12、A13使用VMnet1(仅主机网络)虚拟网卡,则在图3-5的网络拓扑中,“相当于”连接到VMnet1虚拟交换机;虚拟机A81、A82使用VMnet8虚拟网卡(NAT网络,则相当于连接到VMnet8虚拟交换机);虚拟机A01、A02、A03使用VMnet0虚拟网卡(桥接网络,相当于连接到VMnet0虚拟交换机)

物理主机B,代表与物理主机A属于同一局域网内的其他一台或多台计算机。这里面的“同一局域网”,表示可以是同一子网(VLAN)的计算机,也可以是不同子网的计算机。

Internet计算机Z,代表Internet网络上的其他计算机或服务器,可以是一台或多台的计算机。

将图3-5的关系,画成网络拓扑的方式,如图3-6所示。

图3-6 简化后的网络拓扑

下面介绍各虚拟机之间与主机之间的网络关系。

3.3.1 虚拟机使用VMnet1虚拟网卡

当虚拟机选择使用VMnet1虚拟网卡时,表示这台虚拟机连接到VMnet1虚拟交换机。

VMnet1,官方定义“仅主机网络”,其默认的网络行为,只与主机或其他使用VMnet1虚拟网卡的虚拟机有网络连接。使用VMnet1虚拟网卡的虚拟机,不能访问与物理主机之外的其他计算机.

在图3-5(图3-6)中,虚拟机A11、A12、A13使用VMnet1虚拟网卡,表明连接到VMnet1虚拟交换机。在图3-5(图3-6)的网络拓扑中,虚拟机A11、A12、A13、物理主机A之间可以互相通讯。将图3-5(图3-6)中与VMnet1相关的计算机,简化成图3-7所示的拓扑。

图3-7 VMnet1虚拟网络拓扑图3-

1在同一交换机上的计算机怎样才能通讯

深入理解:“可以互相通讯”,这句话表示,当A11、A12、A13、A都连接到VMnet1虚拟交换机时,这4台计算机可以互相通讯,但不一定能通讯。为什么呢?如果A11、A12、A13、A没有设置同一子网的IP地址,这是不能互相通讯(互相访问)的;或者虽然设置同一网段的地址,但A11、A12、A13、A有防火墙,禁止其他计算机访问,这时也是不能通讯的。

只有当A11、A12、A13、A连接到同一个虚拟交换机,并且在网一网段(IP地址还不能冲突)、并且没有防火墙(或者有防火墙,但允许其他计算机访问)时,才有可能通讯。

小实验:在VMware Workstation中创建1台虚拟机,VMnet1虚拟网卡,设置与主机VMnet1相同网段的IP地址,或者在虚拟机中设置“自动获得IP地址”,关闭主机与虚拟机的防火墙,尝试用“网上邻居”或使用ping命令,检查这个虚拟机与主机能否互相通讯。

2 注意主机多块网卡

还要注意物理主机A,在A上有三块网卡(1块物理网卡、2块虚拟网卡),分别是VMnet1、VMnet8和物理网络(称为VMnet0),如果A11、A12、A13是192.168.10.0/24网段的计算机,但VMnet1不是192.168.10.0/24网段的,但你在VMnet8或VMnet0设置的是与A11、A12、A13同一网段的地址(例如192.168.10.0/24)时,A与A11(或A12、A13)也是不能通讯的。

3 在同一交换机上的计算机只要是同一网段的地址即可

另外,还需要说明,虽然在“虚拟网络设置”中,设置VMnet1虚拟网段使用192.168.10.0/24网段,但在使用中,当A11、A12、A13连接到同一个虚拟交换机时,只要A11、A12、A13、物理机A的VMnet1虚拟网卡,设置同一网段的地址(可以是192.168.10.0/24,也可以是其他网段,但最好不要与VMnet8、VMnet0网段冲突),A11、A12、A13、A就可以互相通讯。

——总结:虚拟机如A11、A12、A13和物理机A的VMnet1虚拟网卡,设置同一网段的地址(可以是192.168.10.0/24,也可以是其他网段,但最好不要与VMnet8、VMnet0网段冲突),A11、A12、A13、A就可以互相通讯。

4 使用VMnet1虚拟网卡的计算机默认不能访问外网

使用VMnet1虚拟网卡的计算机,不能访问外网,外网也不能访问VMnet1虚拟网卡的计算机。在图3-5(图3-6)的网络中,虚拟机A11、A12、A13与B、Z没有网络关系,它们不能互相访问。

3.3.2 虚拟机使用VMnet0虚拟网卡——桥接模式

如果虚拟机使用“桥接方式”,即VMnet0,则虚拟机相当于主机网络中的一台计算机,虚拟机如果选择VMnet0(或桥接网络),则通过“VMnet0虚拟交换机”连接到主机所属网络,这时与主机“VMnet0虚拟网卡”是否设置IP地址无关

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

图3-8 VMnet0虚拟网络

其中B及Z,即可以是物理计算机,可以也是使用了VMnet0虚拟网卡的虚拟机。在图3-8中,使用VMnet0的虚拟机(A01、A02、A03)与物理主机A、B可以互相访问。

3.3.3 虚拟机使用VMnet8虚拟网卡

如果虚拟机使用VMnet8,则虚拟机可以通过主机网络,单向(从虚拟机到主机、外网)访问物理主机之外的网络,而主机以外的网络不能访问使用VMnet8的虚拟机。但这个的前提是,主机要能访问外网(或网络上的其他计算机),如果主机不能访问外网,则配置为VMnet8虚拟网卡的虚拟机,也不能访问外网。

将图3-5(图3-6)中与VMnet8的虚拟网络与虚拟机,简化成图3-9的方式。

图3-9 VMnet8虚拟网络

主机A的VMnet8虚拟网卡,连接到VMnet8虚拟交换机,VMnet8虚拟交换机连接到“虚拟路由器”“虚拟路由器”再连接到“VMnet0虚拟网卡(也即主机物理网卡)”,并通过“VMnet0虚拟网卡”连接到“VMnet0虚拟交换机”,“VMnet0虚拟交换机”连接到主机物理网络。这也就表明,连接到“VMnet8虚拟交换机”的计算机(虚拟机或主机),需要通过“虚拟路由器”→“VMnet0虚拟网卡”→“VMnet0虚拟交换机”的方向连接到主机物理网络。

1 NAT中的单向访问关系

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

2 NAT中的默认情况

上节所说的“默认情况”,是指在虚拟机上,启用NAT与DHCP服务并且虚拟机的IP地址是“自动获得IP地址与DNS情况下”,并且主机物理网卡,网络参数(IP地址、子网掩码、网关、DNS)设置正确的情况下。

在启用NAT与DHCP服务的情况下,虚拟机会自动获得合适的IP地址、子网掩码、网关与DNS。

如果虚拟机A81、A82没有设置为“自动获得IP地址与DNS地址”,但“手动”设置的IP地址、子网掩码和网关地址、DNS地址,与DHCP服务器分配的相似时,也是可以访问外网的。例如,在图3-5(图3-6)中,VMnet8虚拟交换机使用的是192.168.80.0/24网段,只要虚拟机设置了192.168.80.3~192.168.80.253的地址、子网掩码为255.255.255.0、网关地址为192.168.80.2,就可以访问A及网络上的其他主机。

3 允许外网访问NAT的虚拟机

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

如果配置了这个“虚拟路由器”,例如,使用“端口映射”情况, Internet网络上的其他计算机,也是可以访问虚拟机A81、A82的。

3.3.4 使用不同虚拟网卡的虚拟机之间的网络关系

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

图3-10 虚拟网络拓扑图3-

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中的虚拟机。

最新文章

  1. logging 模块误用导致的内存泄露
  2. Leetcode Anagrams
  3. Oracle忘记密码的处理办法
  4. iOS 滑动性能优化
  5. 自动生成form Scripts
  6. linux 使用串口连接设备console
  7. 易犯的PHP小错误及相应分析
  8. SignalR 2.0入门
  9. 拥抱ARM妹子第二季 之 序:我和春天有个约会 - 生命的萌芽
  10. react native ios 开发,基础配置笔记。
  11. wamp5.2 升级到wamp5.3 (转载)
  12. 倒计时js
  13. (转) Using the latest advancements in AI to predict stock market movements
  14. ubuntu下,python2.7安装mysqlldb驱动方法
  15. MacOs brew 命令行安装常见工具
  16. python在windows下安装
  17. RealtimeRendering III
  18. CentOS7使用firewalld打开关闭防火墙与端口[转]
  19. 常用模块:hashlib,subprocess,configparser。
  20. 为什么修改Host不生效

热门文章

  1. CSS3选择器p:nth-child和p:nth-of-type之间的差异
  2. Python【第四篇】函数、内置函数、递归、装饰器、生成器和迭代器
  3. php+mysql+nginx+liunx 服务搭建
  4. go Test的实现 以及 压力测试
  5. Ubuntu更新源问题终于解决了
  6. python之OpenCv(四)---人脸识别
  7. Luogu P2057 [SHOI2007]善意的投票
  8. Python:正则表达式详解
  9. Pandas系列(八)-筛选工具介绍
  10. 1.3浅谈Spring(IOC容器的实现)