事件描述:

从物理主机ping虚拟机时,能正常返回信息。反之,从虚机ping物理主机时返回信息:Destination Host unreachable。

 

解决方法:

首先,是因为默认创建的虚拟机并不会在虚拟机和主机之间创建一个路由表信息。那么对应的信息包发送就只能从虚拟机到vmnet的路由上,所以需要创建一个对应的软路由来进行信息的传递,在windows主机上简单的开启“连接共享”即可解决问题,如下图,主机的连接使用无线网络,选择“允许通过此计算机其他计算机的Internet来连接”,并选择对应的虚拟网卡适配器来进行通信数据的转发即可。

 


 

下面简单的说明下Vmware的网络连接方式:

当我们安装完VMware WorkStation的时候,它会帮我们安装两块虚拟网卡,分别是vmnet1,和vmnet8。VMnet1对应于Host-only, VMnet8对应于NAT,还有对应桥接模式的VMnet0。

VMware提供了如下的几种网络连接方式:

1、桥接网络,此时虚拟机的IP网段和主机的网段是一样的,虚拟机的虚拟网络适配器与主机的物理网络适配器进行交互,即虚拟网络适配器可以直接访问物理网络适配器访问外部网路。此时会使用局域网中的一个ip地址,并可以视为独立的计算机。

2、NAT(网络地址转换) NAT是network address translate的简称,什么是NAT方式连接,NAT就相当于父子关系一样,也就是说使用NAT时,本地主机就相当于虚拟机的网关。

3、Host-only 主机和虚拟机之间的网络互访, 但虚拟机访问不了Internet。

4、自定义网络连接模式

 

下面对各种模式的设置进行讲解:

桥接模式:直接在虚拟机设置中选择使用桥接模式,然后选择物理主机的网卡即可。

 

NAT模式:虚拟机可以使用与主机不相同的ip网段,仅需要检查vmnet8这一张网卡的ip地址网段是否和我们虚拟机的ip地址网段一样。虚拟机向外部发送请求数据包是通过NAT网络适配器加以“特殊标记”并以主机的名义进行转发,同样从外网返回的相应数据包也是先由主机进行接受,再度进行“特殊标记”后转发对应虚拟机。从外网查看虚拟机和主机对应共享一个ip,而外部网络无法直接访问到虚拟机。

 

Host-only 模式:同上,只是虚拟机使用vmnet1这张网卡,同时虚拟机并不能与除了主机之外的其他物理主机进行连接,而与物理主机之间连接的虚拟机之间可以进行通信(可通过在它们之间设置路由器来实现相互通信)。

 

套用一套人口户口的比喻:

“桥接模式的虚拟机,就像一个在路由器"民政局"那里"上过户口"的成年人,有自己单独的居住地址,虽然和主机住在同一个大院里,但好歹是有户口的人,可以大摇大摆地直接和外面通信。

NAT模式的虚拟机,纯粹就是一个没上过户口的黑户,路由器"民政局"根本不知道有这么个人,自然也不会主动和它通信。即使虚拟机偶尔要向外面发送点的信件,都得交给主机以主机的名义转发出去,主机还专门请了一位叫做NAT的老大爷来专门负责这些虚拟机的发信、收信事宜。

仅主机模式的虚拟机,纯粹是一个彻彻底底的黑奴,不仅没有户口、路由器"民政局"不知道这么号人,还被主机关在小黑屋里,连信件也不准往外发。“