关于Vmware workstation的NAT结构下的网络测试结果及分析

测试NAT路由器,与虚机,与宿主机的连接情况,以及发掘在VMware当中的网络实现细节。

现有网络结构:

一 NAT子网中的虚机

NAT出的子网网段为192.168.222.0/24

虚机A的以NAT方式连接网络,其IP地址为192.168.222.146,该网络由一个NAT路由器192.168.222.2管理。

虚机A可以ping通NAT路由器,结果如下

而使用traceroute命令时会出错,其原因在于ICMP包和UDP包在表头的地址经过NAT时发生的IP地址转换,导致了TTL的丢失。

具体参考:http://www.cnblogs.com/aguai1992/p/4810039.html

解决办法是通过ICMP的方式进行测试。结果如下:

该方法证明了,此时NAT路由器对于虚机是可达的,只是在经过NAT时地址发生了转换。

二 宿主机与NAT虚拟子网的连接 

其中主机的虚拟网卡Adapter VMnet8连接到了虚拟交换机Vmnet8,并且该网卡被分配了NAT网段的IP地址192.168.222.1

此时的windows下的路由表结构如图:

 由于虚拟网卡Adapter Vmnet8的存在,使得,宿主机可以通过交换机Vmnet8,在经过一个二层网络的环境下到达被NAT管理的各个虚拟机。比如SSH连接。

并且路由表的存在也再一次证明了192.168.222.0/24这个网段内的虚机的可达。

如果此时在控制面板中禁用该网卡,则会造成宿主机无法连接到虚机的情况发生。

此时的测试如下:

ping

tracert

这表明了对于宿主机来说,通过虚拟网卡和网桥,各个虚机是可达的,并且通过的是一个虚拟的二层网络。

三 测试宿主机到达NAT路由器

无法连通

实验结果表明,此时的宿主机虽然连上了VMnet8这台虚拟交换,并且NAT路由器也在其上,但宿主机无法连接到NAT路由器。

初步推测,原因是由于虽然NAT路由器和宿主机的虚拟网卡同属于一个网段内,但是,NAT路由器只作用于由NAT管辖的地址段,故,192.168.222.1不属于这个网关的管辖范围,

所以宿主机想通过192.168.222.1这个网卡来到达NAT服务器是不可行的。

结论:
从路由表来看,宿主机原理上包可以到达192.168.222.2这个网关,但是这个网关并没有给与回复,原因是,宿主机的虚拟网卡并不是由NAT作用和管理的IP地址。

原文地址:https://www.cnblogs.com/aguai1992/p/4810064.html