VMWARE的网络

来源:互联网 发布:語音英文软件 编辑:程序博客网 时间:2024/06/03 19:56

今天因为需要虚拟机联网,却发现简单地设置之后连接不上,所以又上网上搜索了一些资料终于是解决了问题,简单总结一下自己记下的资料吧。

以下仅仅是个人分析总结,不一定对,如果发现错误,还望各位大牛指出。

VMWARE安装之后需要保证虚拟机和主机同时都可以上网,所以有了虚拟网卡的概念。所谓的虚拟网卡,就是以物理网卡为依托,数据首先被虚拟网卡分析,然后虚拟网卡将这些数据加工之后再将数据转发给物理网卡,以实现数据的发送。

可以看成真实主机的操作系统能够接触到该电脑上真实存在的网卡硬件,比如我的电脑室WIN7在网络和共享中心里可以看到操作系统检测到的物理网卡。如图


要注意,被检测到的物理网卡一定在这里有一个对应,但是存在这里的不一定对应真实存在的物理网卡,还有可能是虚拟网卡。怎么判断是真实的还是虚拟的呢,只能说你要对自己的电脑有一定的了解,知道电脑上有几块网卡,并且知道他们的型号就可以简单地辨别出来了。

VMWare最多可以扩充9个虚拟网卡,不过默认的,他只提供了三种网卡,VMnet0 VMnet1 VMnet8 分别对应了桥接 host-only NAT连接。换句话说,如果你装了一个虚拟机选择的上网方式是桥接,那么对应的就是VMnet0网卡。

分别介绍一下这三种连接方式把,首先是VMnet0 在这种情况下虚拟机相当于提供了一个网桥,一段连接真实电脑,一端连接虚拟电脑,而真实的物理网卡充当这个网桥,如果这种方式的解释你听不懂,那么你可以直接认为虚拟电脑和真实电脑地位相等,他们都以相同的方式操作那块真实存在的网卡,那么有了冲突谁来解决呢,当然是虚拟机了。

在这种模式下,虚拟机发送的数据被直接交给虚拟网卡VMnet0 而由于Vmnet0就是真实的网卡,所以这个时候数据直接被交给真实的网卡。

既然数据时被交给真实的网卡上图就不需要再虚拟出一个设备来表示VMnet0了,因为直接对应真实的网卡就可以了,那么如何知道Vmnet0有没有安装成功呢,选择你认为可能被对应的那块真实的网卡,如我的电脑里面只有一块物理网卡,那么就是本地连接,右键选择属性,如下图


可以看到有一个VMware Bridge Protocol 协议,被选择,证明已经安装了VMNet0 如果还是不放心,可以在VMware workstation里面的Edit菜单选择Virtual Network Editor可以看到VMnet0 已被安装。


既然虚拟电脑和真实电脑是完全相等的位置,那么如果想让虚拟主机上网,只要其网络配置和真实电脑完全一样就可以了,当然了,前提是真实电脑可以上网。如果你是自动获取IP那么虚拟机里也选择自动获取IP这样你可以从DHCP获得两个IP地址,如果你是固定IP地址,那么虚拟机也是那个固定IP地址,换句话说这时候虚拟机和真实电脑只有一个能上网。从中也可以看出电脑和虚拟机确实是完全等价的位置。


下面要说的是NAT,也就是虚拟地址转化。在这个模式下虚拟机充当一个NAT的角色,在上图中看到的VMnet8实际上是对虚拟机来说的真实电脑。但是他是不能和真实电脑通信的。

什么意思呢?你可以想想你只有一个固定IP(也就是很自由一块网卡)但是你有两台电脑需要上网(一个虚拟机一个真实机)怎么办呢?当然是使用NAT技术了(如果不知道什么事NAT可以去百度一下)。这个时候虚拟机相当于一个NAT服务器(路由器),但是要注意这个服务器并不是虚拟网卡VMNet8 ,路由器上连接着VMENT8(真实电脑)虚拟机。

所以如果虚拟机想上网,就必须和真实电脑在同一个网段,和NAT服务器在同一个网段,这时候虚拟机上网数据现发给NAT服务器,服务器经过转换之后发给真实的物理网卡,之后物理网卡将数据发到万维网。

那么真实电脑是不是上网也需要把数据发给NAT服务器呢?很显然不是,因为NAT服务器只是VMWARE虚拟出来的一个设别,VMWARE显然没有资格干涉真实电脑的事情。

那么问题就来了,既然VMWARE8 不能喝虚拟机通信真实电脑又不通过他上网,用处何在呢?其实我也想问这个问题,如果有知道的大牛请留言指点。


最后一种是host-only 这种方式和NAT差不多,唯一不同的地方时,host-only不允许虚拟机访问外部网络,但是可以和虚拟机通信。


除了这三种方式,还可以在Virtual Network Editor里面编辑新的网络模式。