VMware NAT模式原理探究:
理解NAT模式,我们能更加了解主机与虚拟机之间如何通信,以及虚拟机如何实现上网。
以及便于我们分析虚拟机与主机无法通信和无法上外网的问题。
下面通过实战:虚拟网络拓扑,抓包分析。
为什么要探究NAT模式?
从日常需求出发:
我们电脑上用到的虚拟机越来越多,需要固定IP,方便管理。
网络环境经常会变,我们可能在家办公和在公司办公网段不一样,每次要改为同一个网段再连接使用,比较麻烦。
首先理解VMware的三种模式:
bridge模式:相当于一台hub,真实主机与虚拟机网段需要配置为一样,才能通信。不适合网络环境经常变化的地方。
host-only模式:真实主机与虚拟机可以是不同网段,并且能上网。但不能分配自己想要的IP,发现修改IP,将无法上网。
NAT模式:由vnet8网卡分配IP,网关,dns,虚拟机可以设置自己想要的IP,指定的网段。
虚拟机不需要与真实主机在同一网段,也能通信,上网,更加灵活方便。
结论:上面的需求只有NAT模式满足。
实战演练:
1.先配置VMware,打开编辑-->虚拟机网络编辑器--->Vmnet8---->dhcp,分配网段:192.168.128.0/24。
点开NAT设置,默认网关是192.168.128.2(建议不需要修改),虚拟机的网关需设为这个才能上网。
2.虚拟机的网卡配置:
手动配置固定IP:192.168.128.204/24
网关:192.168.128.2
3.真机物理网卡IP:192.168.31.22/24
网关:192.168.31.1
虚拟网络连接图:
原理分析:
首先明白VMware软件提供的功能:NAT ,网关,dhcp,dns等功能。
把vmare想象成模拟成了NAT设备,网关设备,交换机,dhcp设备,dns等多台设备,将真机和虚拟机组网起来,实现相互通信,虚拟机上网的功能。
明白VMware Network Adapter VMnet8的作用
我们在真机中发现有块VMware Network Adapter VMnet8的网卡,在NAT网络中,会使用到VMnet8交换机,真实主机上的VMware Network Adapter VMnet8连接到VMnet8交换机,来与虚拟机通信。所以VMware Network Adapter VMnet8仅仅是和Vmnet8虚拟机交换机网络通信的(192.168.128.0/24),并不提供路由功能。禁用掉VMware Network Adapter VMnet8网卡,虚拟机仍然能上网,只是真机与虚拟机之间不能通信。
2.明白NAT设备作用
NAT设备有两块网卡,一个是真机的物理网卡192.168.31.22,另一个是虚拟网卡192.168.128.2
NAT会对源ip进行转换,也为目的ip进行转换,会创建如图所示的NAT表。
3.虚拟机上外网:
流量到达网关192.168.128.2,NAT设备将目的IP修改为真机物理网卡IP 192.168.31.22,物理网卡再通过路由器上外网。
4..虚拟机访问真机,即192.168.128.204访问192.168.31.22:
虚拟机将流量转发至网关192.168.128.2,检测NAT表,将目的IP192.168.31.22映射为192.168.128.1,因此真机虚拟网卡192.168.128.1(VMware Network Adapter VMnet8)接收到流量。
抓包显示VMware Network Adapter VMnet8收到流量,真机物理网卡并无流量。
结论:真机与虚拟机互访通过VMware提供的VMware Network Adapter VMnet8网卡通信。