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

转载自王春海的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中的虚拟机。

Linux安装Tomcat-Nginx-FastDFS-Redis-Solr-集群——【第五集之补充-转载“深入理解VMware虚拟网络”】的更多相关文章

  1. Linux安装Tomcat外部不能访问

    Linux安装Tomcat后本地可以正常访问,可是这时Tomcat还不能被外界访问需要在Linux默认防护墙上打开8080端口 打开 /etc/sysconfig/iptables [root@loc ...

  2. Linux 安装tomcat 及过程中遇到的问题

    Linux 安装tomcat(tomcat能用的前提是系统已经安装jdk) 1.下载linux系统版tomcat,解压后通过ftp上传到Linux服务器     例:tomcat放在 /opt/tom ...

  3. 分布式缓存技术redis学习系列(四)——redis高级应用(集群搭建、集群分区原理、集群操作)

    本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 <详细讲解redis数据结构(内存模型)以及常用命令> <redis高级应用( ...

  4. 分布式缓存技术redis学习(四)——redis高级应用(集群搭建、集群分区原理、集群操作)

    本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 <详细讲解redis数据结构(内存模型)以及常用命令> <redis高级应用( ...

  5. 分布式缓存技术redis系列(四)——redis高级应用(集群搭建、集群分区原理、集群操作)

    本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 <详细讲解redis数据结构(内存模型)以及常用命令> <redis高级应用( ...

  6. redis高级应用(集群搭建、集群分区原理、集群操作)

    文章主目录 Redis集群简介 Redis集群搭建 Redis集群分区原理 集群操作 参考文档 本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 ...

  7. redis在Windows下以后台服务一键搭建集群(单机--伪集群)

    redis在Windows下以后台服务一键搭建集群(单机--伪集群) 一.概述 此教程介绍如何在windows系统中同一台机器上布置redis伪集群,同时要以后台服务的模式运行.布置以脚本的形式,一键 ...

  8. 安装ORACLE高可用RAC集群11g校验集群安装的可行性输出信息

    安装ORACLE高可用RAC集群11g校验集群安装的可行性输出信息 作者:Eric 微信:loveoracle11g [grid@node1 grid]$ ./runcluvfy.sh stage - ...

  9. Hive环境的安装部署(完美安装)(集群内或集群外都适用)(含卸载自带mysql安装指定版本)

    Hive环境的安装部署(完美安装)(集群内或集群外都适用)(含卸载自带mysql安装指定版本) Hive 安装依赖 Hadoop 的集群,它是运行在 Hadoop 的基础上. 所以在安装 Hive 之 ...

随机推荐

  1. java1

    1:计算机概述(了解) (1)计算机 (2)计算机硬件 (3)计算机软件 系统软件:window,linux,mac 应用软件:qq,yy,飞秋 (4)软件开发(理解) 软件:是由数据和指令组成的.( ...

  2. 对拍老是忘记的看这里:bat代码

    需要写三个程序,makedata.exe 产生测试数据, program1.exe 是你要检测的程序,program2.exe 往往是一个正确但效率不高(暴力的居多)的程序. 代码很简单,稍作解释:l ...

  3. DOM_03之元素及常用对象

    1.修改样式:访问内联样式:elem.style.css属性名:获得其他:var style=getComputerStyle(elem):*(* 获得焦点onfocus:失去焦点onblur:): ...

  4. rsync实现免密码操作的一种实现方式

    rsync是远程文件同步协议,在linux系统下,操作服务器之间的文件同步,是非常方便高效的. 但是,简单的rsync操作,往往需要和用户交互,需要用户输入密码,这个对于结合应用系统使用,比如Java ...

  5. Tomcat原理 分类: 原理 2015-06-28 19:26 5人阅读 评论(0) 收藏

    Tomcat的模块结构设计的相当好,而且其Web 容器的性能相当出色.JBoss直接就使用了Tomcat的web容器,WebLogic的早期版本也是使用了Tomcat的代码. Web容器的工作过程在下 ...

  6. JavaScript要点 (六) 函数参数

    JavaScript 函数对参数的值没有进行任何的检查. 函数显式参数(Parameters)与隐式参数(Arguments) 函数的显式参数: functionName(parameter1, pa ...

  7. .NET十五周年生日快乐 (3月7日发布Visual Studio 2017正式版?)

    今天 是.NET 对世界首次亮相15 周年.2002 年 2 月 13 日,第一版本的.NET 发布作为 Visual Studio.NET 的一部分.它仿佛就在昨天为微软建设成"下一代 W ...

  8. unity3D HTC VIVE开发-物体高亮功能实现

    在VR开发时,有时需要用到物体高亮的功能.这里使用Highlighting System v3.0.1.unitypackage插件实现. Highlighting System v3.0.1的介绍访 ...

  9. Catch him

    Problem Description 在美式足球中,四分卫负责指挥整只球队的进攻战术和跑位,以及给接球员传球的任务.四分卫是一只球队进攻组最重要的球员,而且一般身体都相对比较弱小,所以通常球队会安排 ...

  10. 【iOS】Swift if let 和 if var

    if let unwrappedOptional = postDict { print("The optional has a value! It's \(unwrappedOptional ...