Outline
============================================================================================================================- 1. VMware Workstation / VMPlayer 比较
- 2. 虚拟机网络模式 Bridgrd / NAT / Host-only
- 3. 应用场景分析
1. VMware Workstation / VMPlayer 比较
VMware提供了两个虚拟机软件:VMware Workstation 和 VMPlayer.
VMware Workstation提供了较为丰富的功能,可以对虚拟机进行深度配置,为收费软件,完全安装后大小在600M以上。
VMPlayer则为前者的精简版本,可以对虚拟机进行基本的配置以及创建虚拟机,为免费软件,完全安装后大小在100-200M左右。
可以选择自己需要的版本,我使用的是VMPlayer,因为在日常使用中其功能已足够满足我的需求,同时是免费软件。
对于虚拟机系统,可以选择自己安装,也可以从VMware网站上直接下载别人已经安装好的虚拟机系统(Virtual Appliances) ,下载完以后直接使用VMPlayer打开即可。
虚拟机和宿主系统 (Windows) 之间经常会遇到的一个问题是需要进行文件共享,可以在虚拟机中搭建samba,也可以使用VMware提供的VM Tools。安装完VM Tools后,可直接将宿主系统内的文件夹映射到虚拟机内。通常,从网上直接下载的虚拟机系统基本都已经帮你安装好了VM Tools,建议初学者使用。
除了文件共享,VM Tools还包含了如鼠标快速切换 (无需按Ctrl+Alt) 即可切回宿主机、显卡驱动等等功能。
可以说我的日常工作已经离不开虚拟机,Linux开发环境不必多说,虚拟机还可以搭建小型局域网,进行一些网络测试。
虚拟机系统比较占用内存,在我的机器上Fedora跑的明显比Debian慢。所以我一般选用Debian为主开发环境,若需要搭建小型局域网,其他的虚拟机系统选用轻量级Linux发行版,如SliTaz,一般占用内存在128M左右。
2. 虚拟机网络模式 Bridged / NAT / Host-only
虚拟机提供了三种网络模式,通过在宿主机内安装虚拟网卡来实现 (VMnet1, VMnet8, etc.),不同的虚拟网卡有不同的作用(Bridged、NAT、Host-only),如你想了解内部细节,可去VMware查询。这里只简单介绍,三种模式的区别以及其应用场景。
Bridged
如上图所示,此时虚拟机与宿主机在网络中处于对等关系,相当于同时接入虚拟网桥后接入实际网络。虚拟机将成为真实网络环境中的一员。若你所在真实网络需要对新加入的机器进行认证,则虚拟机将无法上外网,但可与局域网内的机器通信。
NAT
如上图所示,在NAT模式下,虚拟机首先与虚拟网桥连接,同时在虚拟网桥上还连有一台虚拟DHCP-Server和NAT-Server。在这里,NAT-Server即宿主机。
此时主要宿主机系统可上网,虚拟机系统也可上网。此种网络模式的缺点同NAT缺点,即外界主机无法主动访问虚拟机系统。
Host-only
如上图所示,Host-only与NAT模式的区别是虚拟机发出的网络包由于不会被进行NAT,所以不会进入外网。在该模式下,虚拟机可以与宿主机进行通信,也可以与其他虚拟机进行通信,即虚拟机、宿主机组成了一个局域网,并且该网与真实网络隔离。
在Virtual Machine Settings中设置完网络模式以后,在虚拟机中调用以下命令,使更新的网络配置立即生效:
/etc/init.d/networking restart
3. 应用场景分析
下面举两个我使用虚拟机的例子
1. server软件位于虚拟机上,处于监听状态,client软件位于外部主机上,需要主动向server发起连接。
分析:NAT模式下,外部主机无法主动连接虚拟机;Host-only组建的虚拟机与宿主机网络与外网隔离;所以这种情况下应该选用bridged模式。
2. 需要进行IPv6局域网攻击测试
分析:NAT模式不支持IPv6;Bridged模式将导致虚拟机发出的攻击数据流入外网;因此,应该选用与外网隔离的Host-only模式。