几个基本概念。
图1是电脑里的网卡。
图2从上至下依次是虚拟交换机、虚拟NAT设备、虚拟DHCP服务器。
图3是网卡的IP地址信息。
VMWare提供了三种网络工作模式,分别是NAT(网络地址转换模式)、Bridged(桥接模式)、Host-Only(仅主机模式)。
NAT模式原理
如果你的网络ip资源紧缺,但是你又希望你的虚拟机能够联网,这时候NAT模式是最好的选择。其网络结构如下图所示:
NAT,是Network Address Translation的缩写,意即网络地址转换。NAT模式也是VMware创建虚拟机的默认网络连接模式。
在NAT模式中,主机网卡直接与虚拟NAT设备相连,然后虚拟NAT设备与虚拟DHCP服务器一起连接在虚拟交换机VMnet8上,这样就实现了虚拟机联网。虚拟机和外部网络通信则是通过虚拟NAT设备。当虚拟机向外部网络发送的请求数据"包裹",都会交由NAT网络适配器加上"特殊标记"并以主机的名义转发出去,外部网络返回的响应数据"包裹",也是先由主机接收,然后交由NAT网络适配器根据"特殊标记"进行识别并转发给对应的虚拟机。因此,虚拟机在外部网络中不必具有自己的IP地址。从外部网络来看,虚拟机和主机在共享一个IP地址,默认情况下,外部网络终端也无法访问到虚拟机。Vhost访问网络的所有数据都是由主机提供的,vhost并不真实存在于网络中,主机与网络中的任何机器都不能查看和访问到Vhost的存在。
那么虚拟网卡VMware Network Adapter VMnet8又是用来做什么呢?VMware Network Adapter VMnet8虚拟网卡主要是为了实现主机与虚拟机之间的通信。
Bridged模式原理
如果你想把虚拟机当做一台完全独立的计算机看待,并且允许它和其他终端一样的进行网络通信,那么桥接模式通常是虚拟机访问网络的最简单途径。桥接模式的最大特点,虚拟机和主机的IP同属一个网段。其网络结构如下图所示:
桥接模式就是将主机网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信。在桥接的作用下,类似于把物理主机虚拟为一个交换机,所有桥接设置的虚拟机连接到这个交换机的一个接口上,物理主机也同样插在这个交换机当中,所以所有桥接下的网卡与网卡都是交换模式的,相互可以访问而不干扰。在桥接模式下,虚拟机ip地址需要与主机在同一个网段,如果需要联网,则网关与DNS需要与主机网卡一致。
Host-Only模式
将虚拟机与外网隔开,使得虚拟机成为一个独立的系统,只与主机相互通讯。其网络结构如下图所示:
Host-Only模式其实就是NAT模式去除了虚拟NAT设备,然后使用VMware Network Adapter VMnet1虚拟网卡连接VMnet1虚拟交换机实现主机和虚拟机以及虚拟机之间的相互通信。
如果要使得虚拟机能联网,我们可以将主机网卡共享给VMware Network Adapter VMnet1网卡,从而达到虚拟机联网的目的。
三种模式通信特点比较
说明:
1)√:可以ping通;×:完全不可以ping通;×:需要配置后才可以ping通。
2)NAT模式下,联网情况下,默认外网是访问不了虚拟机,但是在做了端口映射后可以。
3)仅主机模式下,如果想让虚拟机和主机及外网联网,需要进行额外配置。
4)无论虚拟机采取的是DHCP方式,还是静态IP方式,测试结果都一样。
5)ping通是指两台计算机之间的网络是畅通的,ping通不意味着可以访问。访问的对象是计算机中的某一进程,而非计算机本身。计算机访问指的是对计算机数据的访问,数据访问是应用程序链接到数据源 (Data Source) 访问数据的一种行为 (Behavior)。
6)VMware和VirtualBox中的测试结果是不一样的!!!VirtualBox的测试结果:https://www.cnblogs.com/hihtml5/p/8217062.html