VMware网卡模式解析

来源:互联网 发布:问卷网数据导出 编辑:程序博客网 时间:2024/06/11 23:01
 VMWare提供了三种工作模式,它们是bridged(桥接模式)、NAT(网络地址转换模式)和host-only(主机模式)。
 如果你想利用VMWare在局域网中新建一个独立的虚拟服务器,为局域网用户提供网络服务;或者想创建一个与网内其他机器相隔离的虚拟系统,进行特殊的调试工作。此时,对虚拟系统工作模式的选择就非常重要了。如果你选择的工作模式不正确,就无法实现上述目的,也就不能充分发挥VMWare在网络管理和维护中的作用。现在,让我们一起走近VMWare的三种工作模式。

理解三种工作模式

  VMWare提供了三种工作模式,它们是bridged(桥接模式)、NAT(网络地址转换模式)和host-only(主机模式)。要想在网络管理和维护中合理应用它们,你就应该先了解一下这三种工作模式。

1.
bridged(桥接模式)

  在这种模式下,VMWare虚拟出来的操作系统就像是局域网中的一**立的主机,它可以访问网内任何一台机器。在桥接模式下,你需要手工为虚拟系统配置IP地址、子网掩码,而且还要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行通信。同时,由于这个虚拟系统是局域网中的一个独立的主机系统,那么就可以手工配置它的TCP/IP配置信息,以实现通过局域网的网关或路由器访问互联网。

  使用桥接模式的虚拟系统和宿主机器的关系,就像连接在同一个Hub上的两台电脑。想让它们相互通讯,你就需要为虚拟系统配置IP地址和子网掩码,否则就无法通信。

  如果你想利用VMWare在局域网内新建一个虚拟服务器,为局域网用户提供网络服务,就应该选择桥接模式。

2.
host-only(主机模式)

  在某些特殊的网络调试环境中,要求将真实环境和虚拟环境隔离开,这时你就可采用host-only模式。在host-only模式中,所有的虚拟系统是可以相互通信的,但虚拟系统和真实的网络是被隔离开的。

  提示:在host-only模式下,虚拟系统和宿主机器系统是可以相互通信的,相当于这两台机器通过双绞线互连。

  在host-only模式下,虚拟系统的TCP/IP配置信息(如IP地址、网关地址、DNS服务器等),都是由VMnet1(host-only)虚拟网络的DHCP服务器来动态分配的。

  如果你想利用VMWare创建一个与网内其他机器相隔离的虚拟系统,进行某些特殊的网络调试工作,可以选择host-only模式。

3.
NAT(网络地址转换模式)

  使用NAT模式,就是让虚拟系统借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网。也就是说,使用NAT模式可以实现在虚拟系统里访问互联网。NAT模式下的虚拟系统的TCP/IP配置信息是由VMnet8(NAT)虚拟网络的DHCP服务器提供的,无法进行手工修改,因此虚拟系统也就无法和本局域网中的其他真实主机进行通讯。采用NAT模式最大的优势是虚拟系统接入互联网非常简单,你不需要进行任何其他的配置,只需要宿主机器能访问互联网即可。

  如果你想利用VMWare安装一个新的虚拟系统,在虚拟系统中不用进行任何手工配置就能直接访问互联网,建议你采用NAT模式。

  提示:以上所提到的NAT模式下的VMnet8虚拟网络,host-only模式下的VMnet1虚拟网络,以及bridged模式下的VMnet0虚拟网络,都是由VMWare虚拟机自动配置而生成的,不需要用户自行设置。VMnet8和VMnet1提供DHCP服务,VMnet0虚拟网络则不提供。

uploads/200608/17_155142_vmnet.gif


配置虚拟系统工作模式

  在实际的工作中,由于用户的需求不同、调试环境的要求不同,不同的用户需要选择不同的工作模式,也许是bridged模式,也可能是NAT模式或host-only模式。不管选择使用何种工作模式,将虚拟系统配置成相应的工作模式是非常简单的,在“新建虚拟机向导”对话框中就可以完成。

  在“新建虚拟机向导”对话框中一路点击“下一步”按钮,进入“Network Type”对话框后,就可以选择你所使用的工作模式(如图)。在“Network Type”对话框中有四个单选项,分别为bridged模式、NAT模式、host-only模式、不使用网络连接,选择你需要使用的工作模式后,点击“下一步”按钮,就可完成虚拟系统工作模式的配置。

uploads/200608/17_155246_vmnet1.gif


下面用图示来表达这三种网络方式的区别。

1.VMware Bridge工作方式
在这种工作方式下,Guest OS的IP可设置成与Host OS在同一网段,Guest OS相当于网络内的一**立的机器,网络内其他机器可访问Guest OS,Guest OS也可访问网络内其他机器,当然与Host OS的双向访问也不成问题。在这种工作方式下是最方便的,因为Guest就像是一台局域网内的物理计算机。甚至可以从局域网的DHCP 服务器中获得IP地址。

uploads/200608/17_155340_bridge.gif


2.VMware NAT 工作方式
这种方式也可以实现Host OS与Guest OS的双向访问。但主机所在网络内其他机器不能访问Guest OS,Guest OS可通过Host OS用NAT协议访问网络内其他机器。NAT方式的IP地址配置方法是由VMware的虚拟DHCP服务器中分配一个IP ,在这个IP地址中已经设置好路由,就是指向192.168.138.1的。

uploads/200608/17_155414_nat.gif


3.VMware Host only工作方式
在这种工作方式下,Guest由DHCP服务器分配IP地址。并且可以在192.168.222.X之间保持通信。但是在Guest机器上并不能Ping通Host的172.16.1.210这个地址。因为通信被限制在主机(所以叫做Host Only)。这种方式看起来是很像NAT方式,但是在这种方式下Guest只能和Host之间通信,而不能同在局域网的计算机进行通信,除非在HOST上做转发或路由。

(拓扑图是借用别人的图片)

uploads/200608/17_155441_host.gif

 

 

bridge:这种方式最简单,直接将虚拟网卡桥接到一个物理网卡上面,和linux下一个网卡绑定两个不同地址类似,实际上是将网卡设置为混杂模式,从而达到侦听多个ip的能力.

在此种模式下,虚拟机内部的网卡(例如linux下的eth0)直接连到了物理网卡所在的网络上,可以想象为虚拟机和host机处于对等的地位,在网络关系上是平等的,没有谁在谁后面的问题.

使用这种方式很简单,前提是你可以得到1个以上的地址.对于想进行种种网络实验的朋友不太适合,因为你无法对虚拟机的网络进行控制,它直接出去了.

nat方式:这种方式下host内部出现了一个虚拟的网卡vmnet8(默认情况下),如果你有过做nat服务器的经验,这里的vmnet8就相当于连接到内网的网卡,而虚拟机本身则相当于运行在内网上的机器,虚拟机内的网卡(eth0)则独立于vmnet8.

你会发现在这种方式下,vmware自带的dhcp会默认地加载到vmnet8界面上,这样虚拟机就可以使用dhcp服务.更为重要的是,vmware自带了nat服务,提供了从vmnet8到外网的地址转换,所以这种情况是一个实实在在的nat服务器在运行,只不过是供虚拟机用的.

很显然,如果你只有一个外网地址,此种方式很合适.

hostonly:

这应该是最为灵活的方式,有兴趣的话可以进行各种网络实验.和nat唯一的不同的是,此种方式下,没有地址转换服务,因此,默认情况下,虚拟机只能到主机访问,这也是hostonly的名字的意义.

默认情况下,也会有一个dhcp服务加载到vmnet1上.这样连接到vmnet8上的虚拟机仍然可以设置成dhcp,方便系统的配置.

是不是这种方式就没有办法连接到外网呢,当然不是,事实上,这种方式更为灵活,你可以使用自己的方式,从而达到最理想的配置,例如:

a.使用自己dhcp服务:首先停掉vmware自带的dhcp服务,使dhcp服务更为统一.

b.使用自己的nat,方便加入防火墙.windows host可以做nat的方法很多,简单的如windows xp的internet共享,复杂的如windows server里的nat服务.

c. 使用自己的防火墙.因为你可以完全控制vmnet1,你可以加入(或试验)防火墙在vmnet1和外网的网卡间.

从以上可以看出,hostonly这种模式和普通的nat server带整个内网上网的情形类似,因此你可以方便的进行与之有关的实验,比如防火强的设置等

1、bridge模式(一切都跟host一样,只有ip不能与host相同)

ip 192.168.39.222

netmask:255.255.252.0

gateway:192.168.39.254

primary nameserve:192.168.39.252

2、nat模式

首先在host中查看vmnet8的ip(e.g. 192.168.255.1).

启动vmware,点edit下virtual network setting… ,弹出virtual network editor对话框;

产看nat选项卡,记录nat的gateway ip address:192.168.255.2

在config中,填写:

ip:192.168.255.5(与192.168.255.1在同一个网段的不同地址)

netmask:255.255.255.0(与192.168.255.1的隐码相同)

gateway ip:填写vmware中的nat网关192.168.255.2

primary nameserver:填写与主机中一样的网关192.168.39.252,这样就可以上网冲浪了.

如果填写192.168.255.1,则不能连上外网.这里也可以不停,总之不能写错误的地址

3、hostonly模式

(1)查看你的连接外网的网卡的属性,选择高级标签,设置成允许共享,并设定允许的网络接口为vmnet1

(2)再插看一下你的vmnet1 的属性,看一下tcp/ip协议的设置,你发现已经被自动设置为

192.168.0.1/255.255.255.0,

(3)windows下的设置完成,转入到跑linux的虚拟机.将你的eth0的ip地址设置为静态的(如果安装时没有选静态的话)

.

按红帽子图标->系统设置->网络(或其它你了解的方法)

ip: 192.168.0.2(或其它在此网段上的地址)

netmask: 255.255.255.0

default gateway: 192.168.0.1 (vmnet1的地址)

dns:输入你自己的dns (host中用的dns)

保存设置.如果你还没有设置好主机名称:

cd /etc/sysconfig

vi network

编辑hostname

cd /etc

vi hosts

加入:

192.168.0.2 yourhostname