摘要:虚拟机在课堂和实践教学中的应用,极大地缓解了因为实践教学课时增加,高校扩招实验设备和场地紧缺等因素所导致的实践教学的压力。通过vmware workstation虚拟机软件进行具体的网络互联实验,说明虚拟机在网络实验中的应用。
关键词:虚拟机;vmware;网络实验;实践教学
1 引言
近年来,随着就业形势日趋严峻,用人单位的需求和高校毕业生实际动手能力的差距迫使各高校纷纷大幅度增加课程的实践教学。这就需要各高校加大实验仪器设备和场地的投入。另外,高校不断扩招,学生数量的快速增长,也加大对高校实验设备、实验场地的需求。计算机技术发展日新月异,技术更新快,对实验设备的要求更高。这些因素导致实验仪器设备无法满足大量的实际需求,部分课程实验项目不能真实进行,理论和实践相脱节,进一步恶化毕业生和用人单位的需求矛盾。
虚拟机技术引入教学和实验环境的构建中,大大缓解了这些矛盾,利用vmware虚拟机,既满足实践教学要求又减少资金和场地投入,为计算机实践教学创造良好的教学条件。
2 虚拟机简介
早在上世纪60年代,虚拟化技术出现并被用于大型机,以便充分利用昂贵的大型机资源。随着x86服务器性能的提升和应用普及,vmware公司率先将服务器虚拟化的技术引入pc平台[1]。
虚拟机可以运行自己的操作系统和应用程序,就好像一台物理计算机一样。它包含自己的虚拟(即基于软件实现的)cpu、ram、硬盘和网卡。wwW.133229.CoM操作系统、应用程序和网络中的其他计算机无法分辨虚拟机与真实物理机之间的差异。虚拟机完全由软件组成,不含任何硬件组件。因此,虚拟机具备物理硬件所没有的很多独特优势[2]。
3 vmware workstation的特点
vmware workstation是vmware公司出品的专业的虚拟机软件。该软件可以在一台真实的计算机上同时模拟出多台虚拟机,每个虚拟机实例可以单独运行其自己的操作系统,如windows、linux、netware、solaris等。运行vmware workstation软件的计算机称为宿主机(host)。利用该软件在宿主机中虚拟出来的逻辑计算机被称为客户机(guest),常称为虚拟机。
由于虚拟机与宿主机的真实硬件无关,所有虚拟机使用相同的硬件驱动程序,虚拟机实例具有高度的可移植性。虚拟机的硬盘通常是宿主机的一个文件,虚拟机对硬盘的操作仅仅是在这个文件上进行。在多个虚拟客户机之间可以自如切换,对虚拟机进行启动、挂起(暂停)、恢复以及关机操作完全不会影响宿主机的正常运行。通过vmware的“快照”(snapshot)功能,方便保存系统当前状态,便于随时“还原”实验中任意时刻状态。它的克隆(clone)功能可以免去重新安装操作系统的麻烦,通过克隆可以复制同样操作系统的多个虚拟机。
在windows环境下,vmware workstation提供最多10个虚拟网卡,从vmnet0-vmnet9,适用于各种网络连接。vmware网络工作模式主要有3种,分别是bridged(桥接)、nat(网络地址解析)和host-only(仅主机)。
bridged的特点是通过vmnet0虚拟交换机与宿主机联在同一个局域网中,虚拟机相当于网络中一台真实的独立计算机,地位平等,可以与网络上其他主机互相访问。虚拟机配置与宿主机同网段ip地址。
nat的特点是使用vmnet8虚拟交换机,虚拟机通过宿主机访问网络,vmware软件提供nat和dhcp服务,为虚拟机分配ip地址。网络中其他主机无法访问虚拟机。虚拟机配置自动获得ip地址。
host-only的特点是通过vmnet1虚拟交换机与宿主机互联,宿主机与虚拟机可以互相访问,虚拟机与网络上其他主机不能互相访问,构建私有网络。虚拟机配置自动获得ip地址,使用vmware软件提供的dhcp服务。
另外,vmware还提供定制(custom)模式,用户通过“virtual network editor(虚拟网络编辑器)”自定义网络,创建复杂的互联网络。添加配置vmnet2-vmnet7以及vmnet9这7个虚拟交换机,使宿主机与多个网卡互联,创建多个网络。
vmware的分组 (team)功能,使一个组中的所有虚拟机成员在称为局域网网段(lan segments)的私有网络中通信。与前面这10个虚拟网卡不同的是:team中设定的虚拟交换机与宿主机无关,无需在vmware的虚拟网络编辑器中进行设置,而vmnet0-vmnet9需要在vmware的虚拟网络编辑器中进行配置。vmware提供的这些网络模式和功能,使用户可以根据各种网络实际需求,设置不同网络连接模式,进行不同类型的网络实验。在windows环境下,每个虚拟交换机连接虚拟机数量没有限制。
4vmware的网络实验应用
基于vmware虚拟机的实验教学应用有很多,如操作系统实验、网络组建与维护实验、服务器配置与管理实验、网络安全以及软件测试等等。本文以简单组网和域环境的组网实验为例,介绍在windows环境中基于vmware的网络实验应用。
vmware虚拟机软件对宿主机的硬件要求:cpu是基于x86的最低733mhz;内存最低512mb,推荐2gb;硬盘支持ide和scsi硬盘,安装windows系统需要1.5gb空间,推荐为每个客户机至少保留1gb磁盘空间[3]。满足这些要求才能更好的完成各种实验。
本文中具体实验环境:虚拟机软件是vmware workstation 6.5英文版;宿主机是windows xp professional(winxp) sp2;虚拟机是windows server 2003(win2003)中文企业版 sp2或者winxp sp2。
4.1 简单的组网实验
为了便于理解虚拟机各种网络模式在实际网络实验中的应用,用简单网络搭建说明bridged(桥接)模式的具体网络配置。宿主机与虚拟机通过vmware提供的虚拟交换机vmnet0互联,网络拓扑图如图1所示。
搭建这个网络很简单,首先通过“vm | settings | network adapter | network connection”选择网络连接为“bridged”,然后安装win2003虚拟机,在虚拟机中手动配置网络相关信息,具体如图1中所示。网络配置好后宿主机与虚拟机可以互相访问,虚拟机还能与宿主机同一局域网内的任何其他主机访问,好像局域网中新增加1台设备。在此基础上,可以进行各种局域网内的实验,如web服务、dns服务和邮件服务等常用服务配置。当然虚拟机操作系统可以根据实际实验项目更换为linux操作系统。
4.2 域环境的组网实验
域(domain)是一个安全的边界,安装了活动目录(active directory)的服务器就是域控制器。活动目录应用是组建windows大型网络的基础,但实际教学中关于活动目录的实验因为涉及多台设备并需要联网,很少进行实验。学生对域和活动目录的理解也较差。利用vmware虚拟机克隆、快照和分组功能,在单机环境下,也能很方便的演练域环境的组网实验。
一个简单的域环境,至少需要3台pc,其中2台win2003分别为主域控制器和额外域控制器,1台winxp作为域中成员。搭建的域环境组网实验拓扑图如图2所示,图中所有设备都是虚拟出来的,与宿主机无网络连接。
首先安装win2003企业版和winxp操作系统的虚拟客户机。为方便实验后“还原”回原来状态,进行其他实验,对安装好的虚拟客户机创建“快照”,保护最基本状态,成为模板虚拟机。
搭建域环境的具体实验步骤如下:
(1)通过win2003模板虚拟机克隆2台win2003虚拟机,并快照以备还原使用。
(2)通过vmware虚拟机创建team,将这2台win2003和1台winxp虚拟机组建成1个组,并添加team提供的lan1虚拟交换机连接。各虚拟机设置静态ip地址,具体ip地址分配详见图2中所示。这样保证3台虚拟机连接在1个虚拟交换机上,并与宿主机无关。
(3)分别在这两台克隆的win2003虚拟机(独立服务器)中安装活动目录。一台配置成为主域控制器,另一台配置成为额外域控制器,域名为test.com。主域控制器中搭建dns服务,所有机器dns设置为主域控制器ip地址172.28.17.6。通过“active directory用户和计算机”窗口,看到test.com有两个域控制器,分别是clone-1和clone-2。
(4)启动winxp模板虚拟机,修改“系统属性|计算机名|更改”中隶属于为“域”,域名为test.com,重启机器,登录域从而加入到域中,成为域中成员。
建好域实验环境后,还可以进行各种域的实验,如域的管理和域角色转换等。例如,在此基础上进行服务器角色转换实验,将clone-2额外域控制器通过卸载活动目录降级为成员服务器,再将它从域中脱离成为独立服务器。学生普遍对服务器角色在域中转换理解不好,通过实验验证更能加深理解。
为了保证后续实验不用反复安装或卸载活动目录,每次实验完成后都进行“快照”,并标注提示信息。下次需要那种环境,通过虚拟机“snapshot manager”来还原即可。
4.3 其他网络应用实验
通过虚拟机还可以实现许多综合的网络实验应用。例如,各种应用服务的综合网络环境搭建、配置和管理;多种操作系统组网实验(linux和windows);vlan、nat等网络实验等。对于网络安全方面的木马入侵、arp攻击等具有一定破坏性的实验,都可以通过虚拟机进行模拟演示。
5 结束语
虚拟机技术在计算机实践教学的应用,为实践教学提供了一种有效的手段。虚拟机模拟出真实的实验环境,为学生自主学习和创造性实验提供软硬件保障。增加学生学习兴趣,锻炼动手实践能力,而且节约教学成本,提高教学效率,值得推广。
参考文献
[1]张振伦.虚拟机的演化[j].软件世界,2007(13):42-43.
[2]vmware.什么是虚拟机[ol]./cn/technology/virtual-machine.html.
[3]vmware:vmware workstation 6.5 manual[eb/ol]. /pdf/ws65_manual.pdf.
[4]王隆杰,梁广民,杨名川.windows server 2003网络管理实训教程[m].北京:清华大学出版社,2006.
[5]杨英鹏,赵振国,周海波.计算机网络原理与实践[m].北京:电子工业出版社,2007.