基于GNS3和VMware的虚拟网络系统集成实验室研究
2013-12-23龙艳军欧阳建权俞佳曦
龙艳军,欧阳建权,俞佳曦
(1.湘潭大学信息工程学院,湖南湘潭 411105;2.永州职业技术学院网络信息中心,湖南永州 425100)
在网络工程实验教学中,为了增强学生的实际动手能力,经常需要进行操作系统、网络设备、数据库等多个系统的学习、操作以及网络设备和系统间的互连互通,并且所需的实验环境必须独立,不能与其他课程共用。但网络设备(如交换机、路由器、防火墙、IDS/IPS等)、服务器、存储设备[1]等实验硬件设备昂贵,且更新淘汰快,学校很难为学生提供较全面、系统的网络实验环境,而且学校已有的实验设备非常有限,相对于学生数量非常欠缺。因此,对于一个实验,常把全班学生分成2组或者3组来做,这样不仅任课教师任务重,而且效率低下。可以将GNS3图形化的网络仿真软件和VMware虚拟机软件引入到计算机网络实验教学中,利用VMware模拟服务器、存储设备等硬件设备,可以很容易地搭建复杂的网络系统集成实验的虚拟实验平台,从而有效地解决硬件设备不足的问题。利用该方案,能较好地实现对真实网络系统环境的模拟,充分培养学生的综合学科知识和综合解决实际问题的能力。
1 构建虚拟网络系统集成实验室相关软件
1.1 图形化网络设备仿真软件GNS3
GNS3(graphical network simulator)是一款图形化的网络设备仿真软件,允许在Windows、Linux系统上仿真Cisco 的IOS(internetwork operating system),其支持的路由器平台(2600/3600/3700/7200)、防火墙平台(PIX、ASA)、入侵检测系统/入侵保护系统(IDS/IPS)的类型非常丰富,甚至还可以模拟Juniper公司的JunOS 平台。通过在路由器插槽中配置NM-16ESW 模块[2]后,GNS3还可模拟出该模块所支持的交换机命令。
大多数网络仿真软件都是仿真Cisco 的网络设备[3],但他们支持的路由器命令较少,在进行相关实验时,常常发现这些模拟器不支持某些命令或参数。用户使用这些模拟器通常只能看到模拟路由器的输出结果。在GNS3 中,所运行的是实际的IOS,能够使用IOS所支持的所有命令和参数。
1.2 虚拟机软件VMware Workstation
VMware是由美国VMware 公司开发的非常有名的虚拟机软件,该公司开发的系列虚拟机软件包括VMware ESX Server、VMware GSX Server、VMware Workstation。其中,VMware ESX Server 用于对任务执行要求严格的数据中心,VMware GSX Server可以满足企业级的需求。
VMware是一个虚拟机软件,它在1个操作系统上虚拟出多台虚拟机环境,从而可以在1台物理计算机上同时运行多个操作系统[4],即可以在1台计算机上同时运行2 个或更多的Windows 2000/Windows XP/Windows 7/Linux/Unix 等系统。运行VMware的平台称为主机,在VMware上运行的系统称为客户机。VMware是真正“同时”运行多个操作系统在主机的平台上,就像标准的Windows 应用程序那样切换。由此可见,利用VMware可以让一台计算机实现一个局域网的功能,可大大节省硬件设备和物理空间,管理方便、安全性高[5],特别适合做计算机的教学、软件开发和网络安全等实验。
2 实际案例及实验模拟
2.1 实际案例介绍
笔者以某职业技术学院校园网为模型,该校园网采用三层网络模型设计,分别为接入层、汇聚层、核心层。互联网络租用电信公司的光纤直连到出口防火墙上,出口带宽为200 Mbit;在核心层中的服务器上安装了网络版杀毒软件、网络管理平台、与防火墙联动的日志审计系统、全局安全策略平台、数字化校园管理平台、DHCP服务器等常用的应用系统,通过一台汇聚设备与核心交换机相连;采用千兆双核心,可扩展到万兆。核心交换机下连3台汇聚设备,其中2台汇聚设备分别连接到学院行政楼、图书馆的接入设备,另外1台汇聚设备分别连接到3个教学楼的接入设备。在汇聚层设备上运行OSPF协议,实现了以千兆为主干、百兆到桌面的网络系统。
2.2 实验模拟
2.2.1 实验拓扑构建
在本实验中,GNS3与VMware有3个网段需要互联,在宿主系统中应配有3个网卡;而一般宿主系统中只配有1个网卡,可通过在宿主操作系统中再添加2 个Microsoft Loopback网卡来实现,然后进入VMware虚拟网络编辑窗口,将系统中的3个网卡分别桥接到不同的虚拟网络上。
在利用GNS3及VMware模拟该校园网进行系统实验时,对该校园网模型进行了简化,利用GNS3进行拓扑图的绘制,简化的网络拓扑模型如图1 所示。Core1为核心交换机,B1、Bn为汇聚交换机,B2 为服务器区汇聚交换机,A1、An为接入交换机,C1、Cn为Windows XP 的虚拟机,ASA1 为出口防火墙。为了方便实验,在服务器群的服务器中只运行了DHCP服务,核心层采用了1台核心交换机,汇聚层采用了2台汇聚交换机,接入层采用2台接入交换机,分别与2台虚拟机相连,使用运行Windows XP 的虚拟机来进行仿真实验。
图1 利用GNS3制作的某学院校园网拓扑图
2.2.2 IP地址规划
在设计任何一个网络时,首先需要对IP地址进行规划设计,在本实验中,IP地址规划如表1所示。
表1 实验IP地址规划
2.2.3 VLAN 设计
VLAN(虚拟局域网)是一种不用路由器解决隔离广播域的网络技术[6]。它是将局域网内的设备逻辑地而不是物理地划分成网段,从而实现虚拟的工作组,可以帮助网络管理者将处于相同LAN 网段(部门)的工作站进行分组[7]。在大型的局域网中,必须进行VLAN 的设计。
模拟接入交换机时使用3640路由器,在该路由器上配置NM-16ESW 模块实现模拟二层交换机功能。本实例中的A1、An接入交换机,配置时分别将NM-16ESW 模块设置在路由器的第1个插槽中,将A1交换网络模块的F1/1-15 端口设置为VLAN101,使用命令为:
A1(config)#int range f1/1-15
A1(config-range)#switchport access vlan 101
将F1/0设为trunk模式,使用命令为:
A1(config)#int f1/0
A1(config-if)#switchport mode trunk
An 的网络模块的 F1/1-15 端口设置为VLAN201,其他配置与A1 配置类似。本实验中,为了简化实验,在汇聚层和核心层并没有划分VLAN 的端口,三层设备的互连端口均配置以太网接口模块实现。
2.2.4 OSPF设计
OSPF(开放最短路径优先)是一种链路状态路由协议,运行OSPF的路由器根据自身的和邻居路由器传播过来的链路状态信息生成路由表[8]。
本实验中,利用OSPF协议进行动态路由计算,主要是在三层交换机上运行OSPF,即在核心交换机、汇聚交换机B1、汇聚交换机Bn的互连端口启用OSPF协议。
在核心交换机Core1上配置4个以太网接口卡,分别与B1、B2、Bn以及ASA1互连,具体IP设置见表1。启用OSPF协议,将与其相连的接口网络全部加入到OSPF协议中,同时使用命令ip route 0.0.0.0 0.
0.0.0 192.168.253.242配置缺省路由,以实现接入Internet。
在汇聚交换机B1、B2和Bn上启动OSPF 协议,将与其相连的接口网络全部加入到OSPF 协议进程中,如果接入交换机数量较多的话,需要对接入交换机的IP网段做归纳路由。本实例每个接入交换机只有一个VLAN,因此不需要配置。
2.2.5 GNS3与VMware中的虚拟机互连
在本实验中,使用VMware来模拟服务器操作系统,在1 台VMware 虚拟机运行Windows Server 2003系统,GNS3可以很容易地与VMware虚拟机相连[9]。具体的操作方法为:在GNS3的拓扑结构设计界面中,将Cloud图标(可代表1台主机)拖入设计界面,然后右击该图标并选择配置选(菜)单(见图2),在以太网NIO 标签下选择一个与安装了Windows Server 2003服务器相连的网卡并单击“添加”按钮,然后单击“OK”,即可实现GNS3 与VMware 的主机相连。
图2 节点配置图
运行Windows XP 的虚拟机C1、Cn与GNS3通信,采用与上述相同的操作步骤,所不同的是需要分别选择与各虚拟机相连的网卡。
2.2.6 DHCP服务部署
DHCP(动态主机配置协议)能自动为网络客户机的TCP/IP 分配IP 地址、子网掩码、默认网关以及DNS服务器和WINS 服务器的IP 地址[10]。在大型网络中,DHCP 服务是最常用的一种网络服务,它能极大地简化网络管理员的工作。
在本模拟实验中,DHCP服务部署在服务器区中,采用的是Windows Server 2003操作系统,在DHCP服务器为每个VLAN 配置一个C 类网络。本实验中为VLAN 101分配172.17.1.x/24网段,为VLAN 201分配172.17.2.x/24网段。由于DHCP是采用广播方式进行寻址的,而在该实验中,每个VLAN 均为一个广播域,因此客户端通过广播方式是不能找到DHCP服务器的。为了实现在服务器群中的DHCP服务器能够为全网的所有工作站分配IP地址,需要在每一个VLAN 中启用DHCP中继服务[11],以实现DHCP请求数据包的转发。在本实验中,需要到B1和Bn汇聚交换机中,进入每一个VLAN 后,使用ip help-address dhcp-server(DHCP的IP地址)命令实现。
2.2.7 防火墙的部署
在本工程实验中,ASA1防火墙部署在网络出口处,防火墙采用NAT(网络地址转换)方式,将内部私有网络地址转换成公网IP,实现内部网络访问Internet的目的。
也可以在外网防火墙上配置外网地址与内网地址之间的映射,实现外部网络访问内部网络特定的系统资源。
3 测试与分析
模拟本实例是在CPU 为酷睿双核2.27GHz、4 GB内存、Windows 7操作系统、320GB硬盘的环境下进行的。
测试各三层交换机是否互通,可以在各交换机上使用ping命令进行测试;查看路由表情况,可使用show ip route命令;测试工作站是否获得IP 地址时,启动虚拟机Windows XP(C1),将IP地址设置为自动获取IP 地址后,进入命令提示下输入ipconfig命令,可查看到从DHCP服务器动态获得IP地址(见图3)。
图3 在虚拟机Windows XP(C1)中动态获得IP地址
由于GNS3和VMware在运行时会消耗非常大的CPU 资源和内存资源,因此在运行操作系统时,尽量将运行在VMware中的主机内存减少至操作系统最低要求的硬件环境,同时可以借助第三方CPU 管理软件(如BES等)对占用CPU 的情况进行管理和控制。另外,当一台PC 内存不够用时,也可利用GNS3的分布式功能,即将各IOS分布在多台PC 上运行,可极大地减轻单台PC 的负荷,可以模拟更大规模的网络实验[3]。
4 结束语
目前,GNS3能够模拟Cisco的多种型号路由器、PIX/ASA 防火墙、以太网交换机、ATM 交换机、帧中继交换机、IDS、IPS 等多种网络设备[12],结合VMware软件,运行Cisco的基于服务器平台的有关软件,如MARS、ACS、Cisco-Works等,也可模拟各种操作系统的相关服务。利用该方案构建虚拟网络集成实验室,能够为在校计算机网络专业的学生或网络技术人员模拟真实的网络实验环境,节省实训室设备投资,降低实训室管理难度。学生可以不受时间和空间的限制,自主完成相关网络系统集成工程实验,加强对实际工程案例的认识,提高整体网络工程系统的架构和配置能力。
(
)
[1]韩荣珍.使用VMware技术实现服务器群的热备与恢复[J].计算机安全,2009(9):58-59.
[2]马素刚.VLAN 技术的研究与仿真[J].制造业自动化,2011(11):79-80.
[3]顾春峰,李伟斌,兰秀风.基于VMware、GNS3实现虚拟网络实验室[J].实验室研究与探索,2012(1):73-75,100.
[4]刘武,吴建平,段海新,等.用VMware构建高校的网络安全实验床[J].计算机应用研究,2005(2):212-214.
[5]韩起云,冉维,李静.基于VMware的网络安全虚拟实验平台构建[J].重庆教育学院学报,2011(11):31-34.
[6]钟小平,黄建中,张金石.网络应用方案与实例精讲[M].北京:人民邮电出版社,2003.
[7]张琦,崔新军,卓维乾,等.案例精解:企业级网络构建[M].北京:电子工业出版社,2008.
[8]黄向农,曾毅夫,谭永欣.关于OSPF路由优化技术的探讨[J].实验技术与管理,2012,29(2):104-108.
[9]李元元.基于GNS3软件构建三网融合仿真实训平台[J].中国现代教育装备,2012(1):13-15.
[10]张兴虎.网络服务器的组建、配置与安全管理[M].北京:清华大学出版社,2005.
[11]汤红军.DHCP中继代理在校园网中的应用分析研究[J].计算机系统应用,2008(4):100-102.
[12]GNS3.Hardware emulated by GNS3[EB/OL].[2012-05-18].http://www.gns3.net/hardware-emulated.