因为这块虚拟网卡是用来与虚拟机操作系统进行通信的,所以它所被分配的地址也是10.0.0.0/24的,可以查看一下其地址:
所以实际上,当我们的宿主机与虚拟机操作系统进行通信时,是使用10.0.0.1这个源地址向虚拟机的操作系统发送数据包的。我们可以在虚拟机操作系统上去ping这个地址,会发现通信是没有问题的:
那么对于虚拟机操作系统的网关10.0.0.2这个地址是在哪里的呢?
其实就是对应我们上面网络图解中的NAT服务器的虚拟网卡地址,只是这个地址我们只能通过在虚拟机操作系统中看到。
所以将上面我们所提及的地址以及网段信息,对应到我们的图解中去,如下:
这样一来,整体的网络信息就非常清晰了,另外上面可以看到,宿主机物理网卡的地址为192.168.1.100/24,这是我的笔记本所在局域网所分配给我的IP地址。
通过上面的图解分析,对于虚拟机操作系统的网络通信就可以有很清楚的认识了:
当虚拟机与宿主机进行通信时:其实就是10.0.0.1/24与10.0.0.132/24这两个地址进行通信;
当虚拟机与外网进行通信时:虚拟机先把数据发送到网关10.0.0.2/24,然后再通过NAT服务器把地址转换为192.168.1.100/24,然后再与外网进行通信;
如果把Vmnet8这块虚拟网卡禁用,还是不影响虚拟机访问互联网,只是宿主机与虚拟机的通信会受到影响,从上面的图示中不难看出。
这样一来,通信的过程就非常清晰了!此外,如果我们有很多台虚拟机,并且上网方式都为NAT模式,那么实际上就相当于这些虚拟机都位于同一个局域网当中,那么虚拟机与宿主机的通信、虚拟机访问外网与上面的过程是一样的,而虚拟机与虚拟机之间的通信则是同一个局域网中的通信,所以也没有什么问题,相应有了上面的图解,这一切都会变得清晰很多。
需要补充的是,对于虚拟机提供的DHCP服务和NAT服务,其实在我们安装VMware Workstation的宿主机上是可以看到这些服务的:
4.下一步应该做什么
可以考虑有多台虚拟机的情况,正如上面所说的,可以尝试测试它们的连通性,对上面的图解(尤其重要)进行验证,但是前提是你一定要具备一定的网络知识。
5.在实际当中的应用
首先第一点是,当我们的虚拟机出现网络问题的时候,都是需要先了解清楚网络的拓扑结构再进行网络排错的,所以上面的内容就为我们提供了非常好的理论与实践知识。
另外,如果可以在理解这些网络知识的前提下再去搭建各种服务,做各种测试,可以让我们做到胸有成竹的一种状态,而不再是“雾里看花,水中望月”了,相应在这样的不断尝试中,我们的综合操作能力一定会变得更强。
不过仍然需要说明的是,上面的图解仍然只是做参考,其中的很多细节都是需要了解VMware Workstation的网络虚拟化的细节才可以真正了解清楚的,但不管怎么说,上面的内容对于在网络通信上面,还是可以给我们带来很大的帮助的,真心希望可以帮到大家!