WMWARE 工作模式
导读-- VMWare提供了三种工作模式,它们是bridged(桥接模式)、NAT(网络地址转换模式)和host-only(主机模式)。 如果你想利用VMWare在局域网中新建一个独立的虚拟服务器,为局域网用户提供网络服务;或者想创建一个与网内其他机器相隔离的虚拟系统,进行特殊的调试工作。此时,对虚拟系统工作模式的选择就非常重要了。如果你选择的工作模式不正确,就无法实现上述目的,也就不能充分发挥VMWare在网络管理和维护中的作用。现在,让我们一起走近VMWare的三种工作模式。
三种工作模式
1. Use bridged networking(桥接模式)
在这种模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器。在桥接模式下,你需要手工为虚拟系统配置IP地址、子网掩码,而且还要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行通信。同时,配置好网关和DNS的地址后,以实现通过局域网的网关或路由器访问互联网。
连接方式可以让虚拟机通过网卡连接到Host主机所在的局域网中。用这种方式,Guest OS的IP可设置成与Host OS在同一网段,Guest OS相当于网络内的一台独立的机器,网络内其他机器可访问Guest OS,Guest OS也可访问网络内其他机器,当然与Host OS的双向访问也不成问题。
如果你的真实主机在一个以太网中,这种方法是将你的虚拟机接入网络最简单的方法。虚拟机就像一个新增加的、与真实主机有着同等物理地位的一台电脑,桥接模式可以享受所有可用的服务;包括文件服务、打印服务等等,并且在此模式下你将获得最简易的从真实主机获取资源的方法。
前面我已经提到,桥接模式是最简单的,使用桥接模式后虚拟机和真实主机的关系就好像两台接在一个hub上的电脑,想让他们俩进行通讯,你需要为双方配置IP地址和子网掩码,如果你不配置虚拟机,虚拟机也没有办法得到DHCP分到的IP地址,所以只能使用169.254.这个网段。曾经有些朋友试图改在真实主机中安装VM后生成的VMnet1和VMnet8这两块网卡的IP,这种做法是错误的,作为连接底层硬件的驱动程序它们不需要、也不能作修改。假设真实主机网卡上的IP地址被配置成192.168这个网段,则虚拟机的IP也要配成192.168这个网段,这样虚拟机才能和真实主机进行通讯。
如果想在桥接模式下连入internet,方法也很简单,你可以直接在虚拟机上安装一个拨号端,拨号成功以后你就可以上internet了,别以为虚拟机是假的拨号就也是假的,这时候你就已经在花网费了!当然如果你想通过ICS、NAT或者是代理上网也可以,做法和在普通电脑上做没区别。
这种方式最简单,直接将虚拟网卡桥接到一个物理网卡上面,和一个网卡 绑定两个不同地址类似,实际上是将网卡设置为混杂模式,从而达到侦听多个IP的能力.在此种模式下,虚拟机内部的网卡直接连到了物理网卡所在的网络上,虚拟机和host机处于对等的地位,在网络关系上是平等的. 使用这种方式很简单,前提是你可以得到1个以上的地址.对于想进行种种网络实验的朋友不太适合,因为你无法对虚拟机的网络进行控制,病毒等直接可传出去.
2.Use network address translation(NAT模式)
使用NAT模式,就是让虚拟系统借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网。也就是说,使用NAT模式可以实现在虚拟系统里访问互联网。NAT模式下的虚拟系统的TCP/IP配置信息是由VMnet8(NAT)虚拟网络的DHCP服务器提供的,无法进行手工修改,因此虚拟系统也就无法和本局域网中的其他真实主机进行通讯。采用NAT模式最大的优势是虚拟系统接入互联网非常简单,只需要宿主机器能访问互联网,你不需要配置IP地址,子网掩码,网关,但是DNS地址还是要根据实际情况填的。添加DNS地址除了在网卡属性中填写,还可以在虚拟机中的“虚拟网络编辑器”中的NAT选项卡中点击“编辑”按钮中来添加。
是指通过IP地址访问Host主机。这种方式也可以实现Host OS与Guest OS的双向访问。但网络内其他机器不能访问Guest OS,Guest OS可通过Host OS用NAT协议访问网络内其他机器。NAT方式的IP地址配置方法:Guest OS先用DHCP自动获得IP地址,Host OS里的VMWare services会为Guest OS分配一个IP,之后如果想每次启动都用固定IP的话,在Guest OS里直接设定这个IP即可。
NAT(network address translation)模式其实可以理解成为是方便地使虚拟机连接到公网,代价是桥接模式下的其他功能都不能享用。
首先大家要清楚VMware下的NAT和windows NT里routing and remote access的那个NAT之间没有任何影响。在VMware下使用NAT模式主要的好处是可以隐藏虚拟机的拓扑和上internet时极为方便。NAT模式由VMnet 8的DHCP server提供IP,gateway,DNS。
和在host only模式下一样,如果你试图使用手动分配固定IP,由于VMnet 8的限制,你仍然无法和真实主机进行通讯。不过在NAT模式下接入internet就非常简单了,你不需要做任何配置,只需要真实主机连接到internet后虚拟机就也可以接入internet了。
这种方式下host内部出现了一个虚拟的网卡vmnet8(默认情况下),如果你有过做nat服务器的经验,这里的vmnet8就相当于连接到内网的网卡,而虚拟机本身则相当于运行在内网上的机器,虚拟机内的网卡则独立于vmnet8. 你会发现在这种方式下,vmware自带的dhcp会默认地加载到vmnet8上,这样虚拟机就可以使用dhcp服务.更为重要的是,vmware自带了nat服务,提供了从vmnet8到外网的地址转 换,所以这种情况是一个实实在在的nat服务器在运行,只不过是供虚拟机用的. 很显然,如果你只有一个外网地址,此种方式很合适.
3.Use host-only networking(host only模式)
在某些特殊的网络调试环境中,要求将真实环境和虚拟环境隔离开,这时你就可采用host-only模式。在host-only模式中,所有的虚拟系统之间以及虚拟系统和宿主机系统之间是可以相互通信的,但虚拟系统和真实的网络是被隔离开的。
在host-only模式下,虚拟系统的TCP/IP配置信息,都是由VMnet1(host-only)虚拟网络的DHCP服务器来动态分配的。
如果你想利用VMWare创建一个与网内其他机器相隔离的虚拟系统,进行某些特殊的网络调试工作或主机未安装网卡或者希望虚拟机仅与Host主机通讯的情况下,可以选择host-only模式。
Host-only模式用来建立隔离的虚拟机环境,这这种模式下,虚拟机与真实主机通过虚拟私有网络进行连接,只有同为Host-only模式下的且在一个虚拟交换机的连接下才可以互相访问,外界无法访问。host-only模式只能使用私有IP。Host -only模式和桥接模式的差别并不大,host only模式下会由VMnet1的DHCP server来提供IP,gateway,DNS.如果你尝试使用手动分配固定IP,你会发现即使你将IP地址配成和真实主机一个网段,你也无法和真实主机进行联系,这是VMnet1对你的限制,所以使用VMnet1给你提供的IP是唯一的选择。如果想在host -only模式下接入internet你只能使用ICS和代理。
这是最为灵活的方式.和nat唯一的不同的是,此种方式下,没有地址转换服务,因此,默认情况下,虚拟机只能到主机访问. 默认情况下,也会有一个dhcp服务加载到vmnet1上.这样连接到vmnet8上的虚拟机仍然可以设置成dhcp,方便系统的配置. 是不是这种方式就没有办法连接到外网呢,当然不是,事实上,这种方式更为灵活,你可以使用自己的方式,从而达到最理想的配置,例如:
a.使用自己dhcp服务:首先停掉vmware自带的dhcp服务,使dhcp服务更为统一.
b.使用自己的nat,简单的如xp里的internet共享,复杂的如windows server里的nat服务.
c. 使用自己的防火墙.如ISA。因为可以完全控制vmnet1,你可以加入防火墙在vmnet1和外网网卡间.
网络模式 | 虚拟网卡 | 是否DHCP分配地址 | 与主机能否相通 | 网络内其他机器能否访问虚拟系统 | 虚拟机能否访问网络中的其它主机系统 |
bridged | VMnet0 | 不是 | 能 | 能 | 能 |
NAT | vmnet8 | 是 | 能 | 不能 | 能 |
host-only | VMnet1 | 是 | 能 | 不能 | 不能 |
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
Gateway IP:填写VMware中的NAT网关192.168.255.2
DNS:填写与主机中一样的就可以上网冲浪了.
hostonly模式网络设置举例(linux)
(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 重新启动服务
su
/sbin/service network restart
解决没插网线时的Bridged联网方式
Bridged方式联网的前提是你要有一个真实网卡。在虚拟机内将IP设成和你所在网络同一子网的IP后,所有局域网同一子网的机器都可以直接和它通信,虚拟机之间(甚至两台物理主机上的GUEST OS之间)都可以通信,总之就跟真的机器一模一样。
这里有一个可能出现的问题,就是当你的HUB没通电,或是机器后面的网线没插上的情况下,这时如果启动虚拟机就无法和主机通信。
对于win2000/xp等操作系统,如果网线没插或没有网卡的时候,可安装Microsoft的loopback软网卡,实现网络共享。软网卡的IP一定要和虚拟机的IP在同一子网,这样就可以连上了。
软网卡的安装方法,以win2000为例:
控制面板 -> 添加/删除硬件 -> 添加/排除设备故障 -> 添加新设备 -> 否,从列表选择 -> 网卡 -> 制造商选microsoft -> microsoft loopback adapter。