一. 前言

 首先,我们要通过两种网络模式来ping通虚拟机,那么我们得先知道这几种网络模式的具体作用。

在VMware中,虚拟机的网络连接主要是由VMware创建的虚拟交换机(也叫做虚拟网络)负责实现的,VMware可以根据需要创建多个虚拟网络。在Windows系统的主机上,VMware最多可以创建20个虚拟网络,每个虚拟网络可以连接任意数量的虚拟机网络设备;
  在Linux系统的主机上,VMware最多可以创建255个虚拟网络,但每个虚拟网络仅能连接32个虚拟机网络设备。
  VMware的虚拟网络都是以"VMnet+数字"的形式来命名的,例如 VMnet0、VMnet1、VMnet2……以此类推(在Linux系统的主机上,虚拟网络的名称均采用小写形式,例如 vmnet0 )。
  当我们安装VMware时,VMware会自动为3种网络连接模式各自创建1个虚拟机网络:VMnet0(桥接模式)、VMnet8(NAT模式)、VMnet1(仅主机模式)。此外,我们也可以根据需要自行创建更多的虚拟网络。
VMware 桥接模式
  VMware桥接模式,也就是将虚拟机的虚拟网络适配器与主机的物理网络适配器进行交接,虚拟机中的虚拟网络适配器可通过主机中的物理网络适配器直接访问到外部网络(例如图中所示的局域网和Internet,下同)。简而言之,这就好像在上图所示的局域网中添加了一台新的、独立的计算机一样。因此,虚拟机也会占用局域网中的一个IP地址,并且可以和其他终端进行相互访问。桥接模式网络连接支持有线和无线主机网络适配器。如果你想把虚拟机当做一台完全独立的计算机看待,并且允许它和其他终端一样的进行网络通信,那么桥接模式通常是虚拟机访问网络的最简单途径。
VMware NAT模式
  NAT,是Network Address Translation的缩写,意即网络地址转换。NAT模式也是VMware创建虚拟机的默认网络连接模式。使用NAT模式网络连接时,VMware会在主机上建立单独的专用网络,用以在主机和虚拟机之间相互通信。虚拟机向外部网络发送的请求数据"包裹",都会交由NAT网络适配器加上"特殊标记"并以主机的名义转发出去,外部网络返回的响应数据"包裹",也是先由主机接收,然后交由NAT网络适配器根据"特殊标记"进行识别并转发给对应的虚拟机,因此,虚拟机在外部网络中不必具有自己的IP地址。从外部网络来看,虚拟机和主机在共享一个IP地址,默认情况下,外部网络终端也无法访问到虚拟机。
  此外,在一台主机上只允许有一个NAT模式的虚拟网络。因此,同一台主机上的多个采用NAT模式网络连接的虚拟机也是可以相互访问的。
  前面我们已经提到,默认情况下,外部网络无法访问到虚拟机,不过我们也可以通过手动修改NAT设置实现端口转发功能,将外部网络发送到主机指定端口的数据转发到指定的虚拟机上。比如,我们在虚拟机的80端口上"建立"了一个站点,只要我们设置端口转发,将主机88端口上的数据转发给虚拟机的80端口,就可以让外部网络通过主机的88端口访问到虚拟机80端口上的站点。
VMware 主机模式
  仅主机模式,是一种比NAT模式更加封闭的的网络连接模式,它将创建完全包含在主机中的专用网络。仅主机模式的虚拟网络适配器仅对主机可见,并在虚拟机和主机系统之间提供网络连接。相对于NAT模式而言,仅主机模式不具备NAT功能,因此在默认情况下,使用仅主机模式网络连接的虚拟机无法连接到Internet(在主机上安装合适的路由或代理软件,或者在Windows系统的主机上使用Internet连接共享功能,仍然可以让虚拟机连接到Internet或其他网络)。
  在同一台主机上可以创建多个仅主机模式的虚拟网络,如果多个虚拟机处于同一个仅主机模式网络中,那么它们之间是可以相互通信的;如果它们处于不同的仅主机模式网络,则默认情况下无法进行相互通信(可通过在它们之间设置路由器来实现相互通信)。

不论是哪种连接模式,需要注意的一点是,在未联网的机器之间,如果想要相互ping通,两台机器必须得处在同一网段内;否则,就得通过修改网关的方法进行配置:

主机A的ip是192.168.2.5/16;主机B的ip是192.168.3.7/24
  将主机A的网关设为192.168.3.7,主机B的网关设为192.168.2.5,实现。原理就是,非同一网络,ARP给网关,让网关帮忙转发,正好网关就是主机B,主机B回复ARP发给网关,也就是主机A,ARP结束,双方确定mac地址,开始通信。

二. NAT模式

2.1 配置VMware网络编辑器

 首先,打开VMware的网络编辑器,配置虚拟网卡,将虚拟网卡配置成NAT模式,因为笔者要自己配置静态ip,所以需要把dhcp服务关闭。
在这里插入图片描述

 自己配置所需要设置的IPv6地址
在这里插入图片描述

2.2 配置虚拟机的网络配置

 打开虚拟机中的网络和Internet配置,关闭IPv4协议,在本地连接中使用IPv6协议。(笔者用的是win7虚拟机)
在这里插入图片描述
在这里插入图片描述

2.3 使用GNS3创建PC机和路由器

但是在GNS3连接的时候,发现根本没有VMware的网卡
在这里插入图片描述

  • 正常应该有如下的VMware网卡
    在这里插入图片描述
     在GNS3中的配置中添加VMnet8的虚拟网卡,然后就可以在连接的时候选择啦,如果还是没有VMnet8的虚拟网卡,就要打开主机的网络配置看看有无该虚拟网卡
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

2.4 双击路由器配置路由器的IP

对路由器R2,进行如图下配置即可:进入全局配置模式,全局开启 IPV6 路由功能,添加ipv6地址。
在这里插入图片描述

点击中间链路,使用Wireshark抓包。然后打开主机的cmd窗口,去ping虚拟机的ipv6地址,可以看到的是Wireshark的包中信息出现ping的字样,说明已经ping通,可以看到的是端口协议是ICMPv6,自此整个实验初步完成。

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
  观察其中一个包,可以看到包的主机地址就是本主机的ipv6地址(因为主机还是dhcp协议,所以ipv6地址是临时的)
在这里插入图片描述

3. 主机模式

3.1 修改vmware网卡配置

在这里插入图片描述
  选中仅主机模式的网卡VMnet2

3.2 尝试ping,失败

在这里插入图片描述
  此时用主机来ping虚拟机自己配置的ipv6地址,发现无法ping通,但是ping虚拟机自带的ipv6地址却可以ping通,初步猜测,主机的ip地址与虚拟机我们自己配的ipv6地址不在同一网段。
在这里插入图片描述
来看主机的VMnet2适配器,发现其的ipv6地址根本和我们要ping的2001:db8:cafe:1::2的虚拟机ipv6地址不在同一网段,此时我们就要修改主机的VMnet2适配器的ipv6地址。

3.3 修改主机的VMnet2适配器

在这里插入图片描述
 都是windows系统,所以修改方式与上文中的基本一致,此时我们只需要修改VMnet2适配器的ipv6地址与虚拟机的ipv6地址在同一网段内即可。
虚拟机是:2001:db8:cafe:1::2;主机是:2001:db8:cafe:1::12
修改后,再查看主机配置,此时已经发现可以ping通。。

3.4 打开GNS3,修改PC配置

修改方法与上文类似,添加一个VMnet2的网卡即可,因为使用的是同一个路由器R2,在上文中已经配置过该路由器,所以在此直接使用即可。
在这里插入图片描述

3.5 Wireshark抓包分析

在这里插入图片描述

可以看到的是,包的协议以及源地址和目的地址都是我们的虚拟机和主机的ipv6地址,自此该实验暂告一段落。

  初步了解了IPv6协议的作用与配置,但是对于包分析以及GNS3的使用还是过于生疏,希望以后能有时间多看下这方面的教程。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐