虚拟演练网络的创建方法和装置与流程

文档序号:16198739发布日期:2018-12-08 06:24阅读:187来源:国知局
虚拟演练网络的创建方法和装置与流程
本发明涉及计算机
技术领域
,尤其涉及虚拟演练网络的创建方法和装置。
背景技术
随着计算机网络技术的快速发展及其在各领域的广泛应用,社会各界越来越重视信息网络安全问题,不断投入资源进行网络攻防演练和信息安全研究。目前市场上有一些用于对安全人员、维护人员等进行培训的攻防培训系统,这些攻防培训系统可以为相关用户提供安全培训课程以及提供一些虚拟环境供用户进行练习,以便于用户对安全知识进行学习并练习。但是,在目前的这些提供安全培训课程的系统中,提供给用户的虚拟练习环境主要是单机形式,缺乏对真实网络环境的模拟,用户能够进行的训练较少。技术实现要素:本发明提供虚拟演练网络的创建方法和装置,可以解决缺乏对真实网络环境的模拟,用户能够进行的训练较少的问题。第一方面,提供一种虚拟演练网络的创建方法,包括:云系统获取第一用户针对第一攻防课程创建的第一网络模板,所述第一网络模板包括网络拓扑以及所述网络拓扑对应的路由参数、所述网络拓扑对应的网络参数以及所述网络拓扑对应的主机参数;所述云系统保存所述第一网络模板,并将所述第一网络模板与所述第一攻防课程的对应关系保存在课程模板关联表中;当获取到第二用户针对所述第一攻防课程发起的虚拟环境启动请求时,所述云系统根据所述课程模板关联表获取所述第一网络模板;所述云系统根据所述网络拓扑、所述网络拓扑对应的路由参数、所述网络拓扑对应的网络参数以及所述网络拓扑对应的主机参数在所述云系统的云环境中创建所述第一网络模板对应的虚拟演练网络。本发明实施例中,云系统通过将用户创建的与课程相关联的网络模板保存,在用户在该课程中进行训练时,云系统根据与课程对应的网络模板为其创建虚拟网络,为用户模拟了真实网络环境,使得用户可以在与课程相匹配的复杂网络中进行训练;另外,不同课程,可对应不同的网络模板,根据网络模板创建的虚拟演练网络能够匹配于课程内容。结合第一方面,在一种可能的实现方式中,所述云系统根据所述网络拓扑、所述网络拓扑对应的路由参数、所述网络拓扑对应的网络参数以及所述网络拓扑对应的主机参数在所述云系统的云环境中创建所述第一网络模板对应的虚拟演练网络包括:所述云系统根据所述以及主机参数生成虚拟专用服务器配置参数,并将所述虚拟专用服务器配置参数写入虚拟专用服务器配置文件,根据所述虚拟专用服务器配置文件在所述云环境中创建虚拟主机,所述虚拟主机包括为所述第二用户创建的第一虚拟主机;所述云系统根据所述网络拓扑以及所述网络参数在所述云环境中创建虚拟网络;所述云系统根据所述路由参数在所述云环境中创建所述虚拟主机之间的虚拟路由。通过在云环境中根据第一网络模板的相关参数分别创建虚拟主机、虚拟路由以及虚拟网络,在云环境中实现快速组网,实现对用户的网络创建需求进行快速响应。结合第一方面,在一种可能的实现方式中,所述云系统根据所述网络拓扑、所述网络拓扑对应的路由参数、所述网络拓扑对应的网络参数以及所述网络拓扑对应的主机参数在所述云系统的云环境中创建所述第一网络模板对应的虚拟演练网络之后,还包括:所述云系统将所述网络拓扑以及目标连接方式返回给所述第二用户,所述目标连接方式为所述云系统在所述云环境中为所述第二用户创建的第一虚拟主机对应的虚拟主机访问方式。通过将网络拓扑返回给用户,可使得用户确定要进行实验的虚拟演练网络的情况,通过将目标连接方式发送给用户,使得用户能够对云环境中的虚拟主机进行操作。结合第一方面,在一种可能的实现方式中,所述云系统将所述网络拓扑以及所述目标连接方式返回给所述第二用户之后,还包括:所述云系统获取所述第二用户根据所述目标连接方式发起的攻防实验操作请求;所述云系统将所述攻防实验操作请求映射至所述第一虚拟主机,以使所述第一虚拟主机在所述虚拟演练网络中执行所述攻防实验操作请求对应的实验操作。通过将用户的操作请求映射到分配给该用户的虚拟主机,可使分配给该用户的虚拟主机在虚拟演练网络中执行用户想要执行的操作。结合第一方面,在一种可能的实现方式中所述方法还包括:当确定所述第二用户结束在所述虚拟演练网络中的实验操作时,所述云系统释放所述虚拟演练网络在所述云环境中占用的虚拟资源。通过释放虚拟演练网络对应的虚拟资源,实现对资源的回收。结合第一方面,在一种可能的实现方式中,所述方法还包括:所述云系统记录并保存所述第二用户在所述虚拟演练网络中进行实验操作的过程中所述虚拟演练网络产生的网络流量;所述云系统根据所述网络流量对所述第二用户在所述虚拟演练网络中的实验操作进行分析。通过保存并分析用户在实验期间所产生的网络流量,课程的设计者可根据这些网络流量和相关分析确定在该课程中实验的用户对该课程的内容的掌握程度。结合第一方面,在一种可能的实现方式中,所述方法还包括:所述云系统获取所述第一用户针对所述第一攻防课程发起的课程实验查看请求;所述云系统根据所述课程实验查看请求向所述第一用户返回在所述第一攻防课程对应的虚拟演练网络中进行实验操作的用户的实验情况;所述云系统获取所述第一用户根据所述实验情况发起的网络进入请求;所述云系统将所述网络进入请求映射至所述网络进入请求对应的第二虚拟主机,以对所述第二虚拟主机进行控制。第一用户为课程的设计者,通过将课程的设计者的请求映射至虚拟演练网络中,使得课程的设计者可以对实验的用户进行指导,有助于帮助实验的用户掌握更多技巧。第二方面,提供一种虚拟演练网络的创建装置,包括:第一网络模板获取模块,用于获取第一用户针对第一攻防课程创建的第一网络模板,所述第一网络模板包括网络拓扑以及所述网络拓扑对应的路由参数、所述网络拓扑对应的网络参数以及所述网络拓扑对应的主机参数;第一网络模板保存模块,用于保存所述第一网络模板,并将所述第一网络模板与所述第一攻防课程的对应关系保存在课程第一网络模板关联表中;虚拟演练网络创建模块,用于当获取到第二用户针对所述第一攻防课程发起的虚拟环境启动请求时,根据所述课程模板关联表获取所述第一网络模板,所述网络拓扑对应的路由参数、所述网络拓扑对应的网络参数以及所述网络拓扑对应的主机参数在云系统的云环境中创建所述第一网络模板对应的虚拟演练网络,所述云系统包括所述装置。第三方面,提供另一种虚拟演练网络的创建装置,包括处理器、存储器以及通信接口,所述处理器、存储器和通信接口相互连接,其中,所述通信接口用于传输数据,所述存储器用于存储虚拟演练网络的创建装置执行上述方法的应用程序代码,所述处理器被配置用于执行上述第一方面的方法。第四方面,提供一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面的方法。本发明实施例中,云系统通过保存课程对应的第一网络模板,在用户进行课程的实验时,根据相应的网络模板为用户创建虚拟演练网络,由于虚拟演练网络与课程相匹配且模拟了真实的网络环境,用户在虚拟演练网络中可以得到更好的训练。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例提供的部署有云环境的系统的架构示意图;图2是本发明实施例提供的一种虚拟演练网络的创建方法的流程示意图;图3是本发明实施例提供的获取第一用户针对第一攻防课程创建的第一网络模板的示意图;图4是本发明实施例提供的获取第二用户针对第一攻防课程发起的虚拟环境启动请求的示意图;图5是本发明实施例提供的另一种虚拟演练网络的创建方法的流程示意图;图6是本发明实施例提供的又一种虚拟演练网络的创建方法的流程示意图;图7是本发明实施例提供的一种虚拟演练网络的创建装置的组成结构示意图;图8是本发明实施例提供的另一种虚拟演练网络的创建装置的组成结构示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例的技术方案可适用于部署有云环境的系统(以下简称云系统),示例性地,云系统可以如图1所示,云系统可包括外网系统10和内网系统11,其中,外网系统10用于与连接到公网(互联网)上的用户交互,获取用户的相关需求并转发至内网系统11,内网系统11用于根据用户的需求为其创建虚拟演练网络。外网系统10可包括web请求处理子系统101和虚拟专用服务器(virtualprivateserver,vps)子系统102,内网子系统11可包括openstack云组群111和辅助系统112。web请求处理系统101用于接收并识别用户在用户系统上提交的用户请求,完成对用户请求的分发和逻辑处理。vps系统102用于在用户连接至该vps系统102后,将用户的操作请求映射到云环境中的虚拟演练网络中的虚拟主机上。openstack云组群111是基于开源的云计算管理项目openstack建立的云计算管理平台,其可以包括1个控制节点、1个网络节点以及多个计算节点,这些节点组成了云系统中的云环境,云环境包括创建虚拟演练网络所需的各种虚拟资源。openstack云组群111用于接收web请求处理子系统101提交的请求,根据web请求处理子系统请求在云环境中完成对虚拟演练网络环境的创建。openstack云组群111还用于维护云环境中的虚拟主机、虚拟演练网络以及镜像等云服务资源。辅助系统112用于接收openstack云组群中的网络节点发送的与用户的操作有关的网络流量数据以及对这些网络流量数据进行保存以及分析。基于图1所示的云系统,可以实现本发明实施例的技术方案。参见图2,图2是本发明实施例提供的一种虚拟演练网络的创建方法的流程示意图,如图所示,所述方法包括:s201,云系统获取第一用户针对第一攻防课程创建的第一网络模板,第一网络模板包括网络拓扑、网络拓扑对应的路由参数、网络拓扑对应的网络参数以及网络拓扑对应的主机参数。这里,第一用户可以为在云系统中创建该第一攻防课程的用户,即该第一攻防课程的创建者;第一用户也可以为在云系统中对所有用户和课程进行管理的管理员用户,即该第一攻防课程的管理者。路由参数为网络拓扑中的各个拓扑节点的互联网协议(internetprotocol,ip)地址、出接口等与路由配置有关的参数。网络参数为网络拓扑中的各个拓扑节点所处的网段、子网掩码、网关等与网络配置有关的参数。主机参数为网络拓扑中的各个拓扑节点的系统配置(如linux系统)、存储容量等与主机配置有关的参数。在一些实施例中,可以通过获取第一用户上传的镜像确定拓扑节点的部分主机参数。具体实现中,云系统可以通过获取第一用户在用户系统的可视化图形界面上的操作获取第一用户针对第一攻防课程创建的第一网络模板。其中,用户系统是面向用户的可供用户进行操作的系统,用户系统用于建立用户与云系统之间的联系。以下介绍获取第一用户针对第一攻防课程创建的第一网络模板的具体过程:第一步,第一用户通过第一主机登录用户系统,在登录用户系统的过程中,第一主机向web请求处理子系统发起登录请求,web请求处理子系统在对第一用户的身份验证通过之后,将用户系统的可视化图形界面的有关数据返回给第一主机,第一主机根据这些数据显示用户系统的可视化图形界面。用户系统的可视化图形界面如图3中的a所示。第二步,第一用户在用户系统的可视化图形界面上选择第一攻防课程,如图3中的b所示,第一主机向web请求处理子系统发起进入第一攻防课程对应的可视化图形界面的请求,web处理子系统响应该请求,将第一攻防课程对应的可视化图形界面的有关数据返回给第一主机,第一主机根据这些数据显示第一攻防课程对应的可视化图形界面,如图3中的c所示。第三步,第一用户在第一攻防课程对应的可视化图形界面上选择创建网络模板,如图3中的d所示,第一主机向web请求处理子系统发起进入创建网络模板的概念,web请求处理子系统响应该请求,将创建网络模板的可视化图形界面的有关数据返回给第一主机,第一主机根据这些数据显示创建网络模板的可视化视图界面,如图3中的e所示。第四步,第一用户在创建网络模板的可视化视图界面上选取拓扑节点(如服务器、交换机、防火墙、主机等)并连接这些拓扑节点以形成网络拓扑;第一用户分别对网络拓扑中的各个拓扑节点的参数进行设置,当第一用户在创建网络模板的可视化视图界面上创建好网络拓扑并设置好该网络拓扑中的拓扑节点的参数后,点击提交,第一主机则与用户设置的内容提交给web请求处理子系统,web请求处理子系统获取到针对第一攻防课程创建的第一网络模板。s202,云系统保存第一网络模板,并将第一网络模板与第一攻防课程的对应关系保存在课程模板关联表中。在一种可能的实现方式中,课程模板关联表具体可包括标识关联表和网络模板参数标识,可以为各个攻防课程和其对应的网络模板设置标识并将相对应的攻防课程和网络模板的标识对应保存在标识关联表中,可以分别为每个网络模板创建网络模板参数表,将网络模板的参数保存在网络模板参数表中,通过网络模板的标识建立标识关联表与网络模板参数表的关联关系。保存所述第一网络模板,并将第一网络模板与第一攻防课程的对应关系保存在课程模板关联表中具体可以包括以下流程:根据第一攻防课程的课程标识为第一网络模板分配模板标识;建立第一攻防课程的课程标识与第一网络模板的模板标识的对应关系,并将第一攻防课程的课程标识与第一网络模板的模板标识的对应关系保存在标识关联表中;创建第一网络模板的模板标识对应的课程模板参数表,将第一网络模板对应的网络拓扑保存在用于存储网络拓扑的文件中,并将第一网络模板对应的网络拓扑的保存路径以及网络拓扑的参数保存在第一网络模板的模板标识对应的课程模板参数表中。举例来进行说明,例如,第一攻防课程的课程标识为3,则将网络模板的网络模板标识设置为3,标识关联表可以如表1所示:课程标识网络模板标识1122表1将第一攻防课程的课程标识与第一网络模板的模板标识的对应关系保存在标识关联表中可以如表2所示:表2创建第一网络模板的模板标识对应的课程模板参数表,第一网络模板的模板标识对应的课程模板参数表可以如表3所示:表3在另一种可能的实现方式中,也可以为每一个课程创建与其对应的课程模板关联表,将第一网络模板对应的网络拓扑保存在用于存储网络拓扑的文件中,并将第一网络模板对应的网络拓扑的保存路径和网络拓扑的参数保存在第一攻防课程对应的课程模板关联表中。由于第一攻防课程对应的课程模板关联表对应第一攻防课程,第一攻防课程对应的课程模板关联表存储着第一网络模板的相关信息,则该第一攻防课程对应的课程模板实质上也保存了第一攻防课程与第一网络模板的对应关系。s203,当获取到第二用户针对第一攻防课程发起的虚拟环境启动请求时,云系统根据课程模板关联表获取第一网络模板。第二用户为学习该第一攻防课程的学生用户。本发明实施例中,针对第一攻防课程发起的虚拟环境启动请求可以携带第一攻防课程的课程标识。云系统可以通过获取第二用户在用户系统的可视化图形界面上的操作获取第二用户针对第一攻防课程发起的虚拟环境启动请求。以下介绍获取第二用户针对第一攻防课程发起的虚拟环境启动请求的具体过程:第一步,第二用户通过第二主机登录用户系统。第二用户登录用户系统的过程与第一主机登录用户系统的过程类似,可参考前述描述,用户系统的可视化图形界面如图4中的a所示。第二步,第二用户在用户系统的可视化图形界面上选择第一攻防课程,如4中的b所示,第一主机向web请求处理子系统发起进入第一攻防课程对应的可视化图形界面的请求,web处理子系统响应该请求,将第一攻防课程对应的可视化图形界面的有关数据返回给第一主机,第一主机根据这些数据显示第一攻防课程对应的可视化图形界面,如图4中的c所示。第三步,第二用户在第二攻防课程对应的可视化图形界面上选择启动实验环境,如图4中的d所示,第一主机向web请求处理子系统发起启动实验环境的请求,web请求处理子系统获取到第二用户针对第一攻防课程发起的虚拟环境启动请求。在通过网络模板的标识建立标识关联表与网络模板参数表的关联关系的情况下,云系统根据第一攻防课程的课程标识确定第一网络模板的网络模板标识,然后根据第一网络模板的网络模板标识找到第一网络模板的模板标识对应的网络模板参数表,然后从该网络模板参数表中获取第一网络模板对应的网络拓扑的保存路径以及该网络拓扑的参数,最后根据该网络拓扑的保存路径获取第一网络模板对应的网络拓扑。在将第一网络模板对应的网络拓扑和网络拓扑的参数保存在第一课程模板对应的课程模板关联表中的情况下,云系统根据第一攻防课程的课程标识找到第一课程模板对应的课程模板关联表,然后从该课程模板关联表中获取第一网络模板对应的网络拓扑的保存路径以及该网络拓扑的参数,最后根据该网络拓扑的保存路径获取第一网络模板对应的网络拓扑。s204,云系统根据网络拓扑、网络拓扑对应的路由参数、网络拓扑对应的网络参数以及网络拓扑对应的主机参数在云系统的云环境中创建第一网络模板对应的虚拟演练网络。这里,在云环境中创建第一网络模板对应的虚拟演练网络可以包括以下步骤:根据主机参数生成vps配置参数,并将vps配置参数写入vps配置文件,根据vps配置文件在云环境中创建虚拟主机,其中,根据vps配置文件在云环境中的创建的虚拟主机包括为第二用户创建的第一虚拟主机;根据网络拓扑以及网络参数在云环境中创建虚拟网络;根据路由参数在云环境中创建虚拟主机之间的虚拟路由。下面分别介绍创建虚拟主机、虚拟网络以及虚拟路由的具体过程。一、创建虚拟主机的过程。在创建虚拟主机的过程中,首先,根据vps配置文件中的vps配置参数确定该网络拓扑中的各个主机节点所需的计算资源以及存储资源,其中,计算资源包括处理器资源和内存资源。然后,根据该计算资源和存储资源为各个主机节点分配相应的虚拟计算资源和虚拟存储资源。最后,利用各个主机节点对应的镜像在为各个主机节点分配的虚拟计算资源和虚拟存储资源中创建各个主机节点对应的虚拟主机。其中,主机节点是指网络拓扑中的各个计算机,虚拟主机的配置与其对应的计算机的配置相同,虚拟主机的配置包括虚拟主机的操作系统、虚拟主机的内存、虚拟主机的存储容量,等等。在创建的虚拟主机中,包括为第二用户创建的第一虚拟主机,第一虚拟主机为用户主机,即在虚拟演练网络中供用户操作或使用的主机。二、创建虚拟网络的过程。在创建虚拟网络的过程中,首先,根据网络参数分配创建该网络拓扑对应的虚拟网络所需的网络资源,网络资源包括虚拟局域网(virtuallocalareanetwork,vlan)编号、可扩展虚拟局域网(virtualextensiblelocalareanetwork,vxlan)编号、开放虚拟交换机(openvirtualswitch,ovs)规则表、命名空间(namespace)等网络资源,根据网络拓扑将虚拟主机配置到与虚拟主机的配置相对应的网络资源中。然后,根据网络参数创建该网络拓扑对应的虚拟网络的安全策略规则,其中,安全策略规则是指该虚拟网络中的各个虚拟主机的访问控制规则,例如,访问控制规则为来自拒绝某一ip地址的网络流量。三、创建虚拟路由的过程。在创建虚拟路由的过程中,首先,根据路由参数为该虚拟演练网络中的各个虚拟主机分配路由资源,其中,路由资源包括虚拟网卡、虚拟接口等配置虚拟路由所需的底层资源;利用为各个虚拟主机分配的底层资源创建各个节点对应的虚拟路由。通过上述三个过程,可以在云环境中为第一用户创建该网络拓扑对应的虚拟网络。本发明实施例中,通过将用户创建的与课程相关联的第一网络模板保存,在用户在该课程中进行训练时,根据与课程对应的第一网络模板为其创建虚拟演练网络,虚拟演练网络模拟了真实的网络环境,用户可以在虚拟演练网络中进行实验,可以得到更多的训练;另外,不同课程对应不同的网络模板,根据网络模板创建虚拟演练网络能够使得创建的虚拟演练网络能够与课程内容相匹配,使用户在学习了课程内容后能够得到与课程内容相匹配的练习,有助于提高用户的能力。在一些可能的实施例中,在根据第一网络模板创建好第一攻防课程对应的虚拟演练网络之后,第二用户可以在第一攻防课程对应的虚拟演练网络中进行攻防实验。参见图5,图5是本发明实施例提供的另一种虚拟演练网络的创建方法的流程示意图,该方法可以在上述步骤s204之后被执行,如图所示,所述方法包括:s301,云系统确定为第二用户创建的第一虚拟主机。这里,第一虚拟主机是该虚拟演练网络中的用户主机,即供第二用户进行操作的虚拟主机。s302,云系统将虚拟演练网络的网络拓扑以及第一虚拟主机的虚拟主机访问方式返回给第二用户。这里,第一主机的虚拟主机访问方式是指访问该第一虚拟主机对应的vps的方式,第二用户通过该第一虚拟主机的虚拟访问方式可连接至第一虚拟主机对应的vps。具体实现中,该第一虚拟主机的虚拟主机访问方式可以为该第一虚拟主机对应的vps的ip地址;该第一虚拟主机的虚拟主机访问方式也可以为该第一虚拟主机对应的vps所对应的统一资源标识符(uniformresourcelocator,url);第一虚拟主机的虚拟主机访问方式还可以为其他任意一种可以使第二用户可以连接至第一虚拟主机对应的vps的连接方式。在可选实施方式中,云系统除了将给虚拟演练网络的网络拓扑以及第一虚拟主机的虚拟主机访问方式返回给第二用户之外,还可以将连接至该第一虚拟主机对应的vps的密码、密钥或令牌等具备验证作用的数据发送给第二用户,以使第二用户可以通过密码、密钥或令牌登录该第一虚拟主机对应的vps。s303,云系统获取第二用户根据第一虚拟主机的虚拟主机访问方式发起的攻防实验操作请求。这里,第二用户根据第一虚拟主机的虚拟主机访问方式可以访问并登录该第一虚拟主机对应的vps,在登录该第一虚拟主机对应的vps之后,云系统可以根据第二用户在该第一虚拟主机对应的vps上的操作获取第二用户发起的攻防实验操作请求。这里,攻防实验操作请求是指各种攻防操作对应的请求,例如,可以为访问该虚拟演练网络中的另一虚拟主机的操作所对应的攻防实验操作请求。s304,云系统将攻防实验请求映射至所述第一虚拟主机,以使第一虚拟主机在虚拟演练网络中执行所述攻防实验操作请求对应的实验操作。这里,该攻防实验请求可携带第二用户的用户信息,第二用户的用户信息例如可以是第二用户的用户标识,云系统中的vps可以根据第二用户的用户信息确定该第一虚拟主机,进而将攻防实验操作请求映射至第一虚拟主机,虚拟主机可以根据该攻防实验操作请求执行该攻防实验操作请求对应的实验操作。本发明实施例中,在创建虚拟演练网络之后,通过将云系统为用户创建的用户主机的连接方式发送给用户并获取用户根据该连接方式发起的操作请求,可以使该用户主机在虚拟演练环境中执行该操作请求对应的实验操作,即在虚拟演练环境中模拟了用户的操作,从而使得用户可以在该虚拟演练环境中进行实验。在一些可选的实施方式中,当确定该第二用户结束在虚拟演练网络中的实验操作时,云系统可以释放该虚拟演练网络占用的虚拟资源。云系统释放该虚拟演练网络占用的虚拟资源可以包括如下步骤:释放为虚拟演练网络中的各个主机分配的计算资源以及存储资源;释放虚拟演练网络对应的网络资源;删除虚拟演练网络的安全策略规则;释放该虚拟演练网络中的各个主机分配的路由资源。由于在第二用户结束实验操作后,虚拟演练网络对应的虚拟资源实质上一些无用的虚拟资源,通过释放虚拟演练网络对应的虚拟资源,实现对虚拟资源的回收,有助于实现对虚拟资源的循环利用。在一些可选的实施方式中,该云系统还可以记录并保存该第二用户在虚拟演练网络中进行攻防实验操作的过程中该虚拟演练网络产生的网络流量;根据网络流量对第二用户在虚拟演练网络中的攻防实验操作进行分析。具体实现中,云系统可以通过网络节点获取第二用户在虚拟演练网络中进行攻防实验操作的过程中虚拟演练网络产生的网络流量,网络节点将该网络流量发送给云系统中的辅助子系统,然后通过辅助子系统根据该网络流量中的ip地址、数据包类型等对网络流量进行分类,最后确定分类的网络流量所对应的实验操作并对这些操作进行分析。在一些可能的实施例中,在第二用户在进入虚拟演练网络进行实验的过程中,第一用户还可以进入虚拟演练网络中对第二用户进行指导。这里,以目前有两个第二用户在该第一攻防课程对应的虚拟演练网络中进行实验操作为例介绍第一用户进入虚拟演练网络中对第二用户进行指导的情况。参见图6,图6是本发明实施例提供的又一种虚拟演练网络的创建方法的流程示意图,该方法在上述步骤s202之后被执行如图所示,所述方法包括:s401,云系统获取第三用户针对第一攻防课程的第一虚拟环境启动请求。这里,第一主机为第三用户的主机,第三用户为学习该第一攻防课程的学生用户。云系统获取第三用户针对第一攻防课程的第一虚拟环境启动请求的实现方式可以参考步骤s203中的云系统获取第二用户针对第一攻防课程发起的虚拟环境启动请求的过程,此处不再赘述。s402,云系统根据第一网络模板在云环境中为第三用户创建第一虚拟演练网络。云系统根据第一网络模板在云环境中为第三用户创建第一虚拟演练网络的实现方式可以参考前述步骤s204的描述,此处不再赘述。s403,云系统获取第三用户发起的第一攻防实验操作请求。云系统获取第三用户发起的第一攻防实验操作请求的过程与前述图5对应的实施例类似,首先,云系统确定为第三用户创建的第三虚拟主机,然后将该第三虚拟主机对应的虚拟主机访问方式返回给第三用户,第三用户根据该第三虚拟主机对应的虚拟主机访问方式向该第三虚拟主机对应的vps发起第一攻防实验操作请求,云系统通过该第三虚拟主机对应的vps获取第三用户发起的第一攻防实验操作请求。s404,云系统将第一攻防实验操作请求映射至第三虚拟主机,以使第三虚拟主机在第一虚拟演练网络中执行第一攻防实验操作请求对应的攻防操作。这里,云系统将第一攻防实验请求映射至第三虚拟主机的方式可参考前述步骤s304的描述,此处不再赘述。s405,云系统获取第四用户针对第一攻防课程的第二虚拟环境启动请求。云系统获取第四用户针对第一攻防课程的第二虚拟环境启动请求的实现方式可以参考步骤s203中的云系统获取第二用户针对第一攻防课程发起的虚拟环境启动请求的过程,此处不再赘述s406,云系统根据第一网络模板在云环境中为第四用户创建第二虚拟演练网络。云系统根据第一网络模板在云环境中为第四用户创建第二虚拟演练网络的实现方式可以参考前述步骤s205的描述,此处不再赘述。这里,由于第二虚拟演练网络和第一虚拟演练网络对应的网络拓扑以及网络拓扑的参数相同,可以通过vxlan来对第一虚拟演练网络和第二虚拟演练网络进行隔离。在为第一虚拟演练网络和第二虚拟演练网络的过程中,可以为第一虚拟演练网络和第二虚拟演练网络分配不同的vxlan编号,以将第一虚拟演练网络和第二虚拟演练网络隔离。s407,云系统获取第四用户发起的第二攻防实验操作请求。云系统获取第四用户发起的第二攻防实验操作请求与前述图5对应的实施例类似,首先,云系统确定为第四用户创建的第四虚拟主机,然后将该第四虚拟主机对应的虚拟主机访问方式返回给第四用户,第四用户根据该第四虚拟主机对应的虚拟主机访问方式向该第四虚拟主机对应的vps发起第二攻防实验操作请求,云系统通过该第四虚拟主机对应的vps获取第四用户发起的第二攻防实验操作请求。s408,云系统将第二攻防实验操作请求映射至第四虚拟主机,以使第四虚拟主机在第二虚拟演练网络中执行第二攻防实验操作请求对应的攻防操作。这里,云系统将第二攻防实验操作请求映射至第四虚拟主机的方式可参考前述步骤s304的描述,此处不再赘述。s409,云系统获取第一用户针对第一攻防课程的课程实验查看请求。云系统可以通过获取第一用户在用户系统的可视化图形界面上的操作获取第一用户针对第一攻防课程的课程实验查看请求。例如,第一用户进入第一攻防课程对应的可视化图形界面如图3中的c所示,当第一用户在图3中的c所示的可视化图形界面上点击“实验情况”时,则云系统获取到第一用户针对第一攻防课程的课程实验查看请求。s410,云系统根据课程实验查看请求向第一用户返回第三用户和第四用户的实验情况。具体地,云系统可以将第三用户和第四用户当前的实验进展(如实验的时长、实验进行到哪一环节,等等)以及第三用户和第四用户在其各自的虚拟演练网络中所进行的操作的记录返回给第一用户。例如,该第一攻防课程为一门有关于漏洞检测及修复的课程,则云系统可以将第三用户和第四用户找到的漏洞情况、第三用户和第四用户修复的漏洞情况、第三用户和第四用户当前正在进行的操作以及第三用户和第四用户在查找和修复漏洞的过程中所执行的操作的记录返回给第一用户。示例性地,第三用户和第四用户找到的漏洞情况和漏洞修复可以分别如表4和表5所示:漏洞名称漏洞级别是否修复sql注入高否敏感信息泄露高是………表4漏洞名称漏洞级别是否修复sql注入高否html注入中是………表5可以将表4和表5中的信息返回给第一用户。s411,云系统获取第一用户发起的网络进入请求。这里,如果第一用户发起的网络进入请求为请求进入第一虚拟演练网络的请求,云系统执行步骤s412;如果第一用户发起的网络进入请求为请求进入第二虚拟演练网络的情况,云系统执行步骤s413。s412,云系统将网络请求映射至第三虚拟主机,以对第三虚拟主机进行控制。s413,云系统将网络请求映射至第四虚拟主机,以对第四虚拟主机进行控制。本发明实施例中,通过将分别在第一攻防课程对应的第一虚拟演练网络和第二虚拟演练网络中进行实验的第三用户和第四用户的实验情况返回给第一用户,使得第一用户能够根据第三用户和第四用户的实验情况了解第三用户和第三用户对课程的掌握程度,通过将第一用户的请求映射至对应的虚拟演练网络中,使得第一用户可以进入虚拟演练网络中对第三用户或第四用户进行指导,可以帮助实验的用户更快地掌握实验内容。上面介绍了发明实施例的方法,下面介绍发明实施例的装置。参见图7,图7是本发明实施例提供的一种虚拟演练网络的创建装置的组成结构示意图,该装置可以是图1所示的云系统或云系统的一部分,如图所示,所述装置50包括:网络模板获取模块501,用于获取第一用户针对第一攻防课程创建的第一网络模板,所述第一网络模板包括网络拓扑以及所述网络拓扑对应的路由参数、所述网络拓扑对应的网络参数以及所述网络拓扑对应的主机参数;网络模板保存模块502,用于保存所述第一网络模板,并将所述第一网络模板与所述第一攻防课程的对应关系保存在课程第一网络模板关联表中;虚拟网络创建模块503,用于当获取到第二用户针对所述第一攻防课程发起的虚拟环境启动请求时,根据所述课程模板关联表中获取所述第一网络模板,所述网络拓扑、所述网络拓扑对应的路由参数、所述网络拓扑对应的网络参数以及所述网络拓扑对应的主机参数在云环境中创建所述第一网络模板对应的虚拟演练网络。在一种可能的设计中,所述网络拓扑的参数包括路由参数、网络参数以及主机参数,所述虚拟网络创建模块503具体用于:根据所述主机参数生成虚拟专用服务器配置参数,并将所述虚拟专用服务器配置参数写入虚拟专用服务器配置文件,根据所述虚拟专用服务器配置文件在所述云环境中创建虚拟主机,所述虚拟主机包括为所述第二用户创建的第一虚拟主机;根据所述网络拓扑以及所述网络参数在所述云环境中创建虚拟网络;根据所述路由参数在所述云环境中创建所述虚拟主机之间的虚拟路由。在一种可能的设计中,所述装置50还包括:连接方式返回模块504,用于将所述网络拓扑以及目标连接方式返回给所述第二用户,所述目标连接方式为所述装置在所述云环境中为所述第二用户创建的第一虚拟主机对应的虚拟主机访问方式。在一种可能的设计中,所述装置50还包括:第一请求接收模块505,用于获取所述第二用户根据所述目标连接方式发起的攻防实验操作请求;第一请求映射模块506,用于将所述攻防实验操作请求映射至所述第一虚拟主机,以使所述第一虚拟主机在所述虚拟演练网络中执行所述攻防实验操作请求对应的实验操作。在一种可能的设计中,所述装置50还包括:虚拟资源释放模块507,用于当确定所述第二用户结束在所述虚拟演练网络中的实验操作时,释放所述虚拟演练网络在所述云环境中占用的虚拟资源。在一种可能的设计中,所述装置50还包括:流量保存模块508,用于记录并保存所述第二用户在所述虚拟演练网络中进行实验操作的过程中所述虚拟演练网络产生的网络流量;操作分析模块509,用于根据所述网络流量对所述第二用户在所述虚拟演练网络中的实验操作进行分析。在一种可能的设计中,所述装置50还包括:第二请求接收模块510,用于获取所述第一用户针对所述第一攻防课程发起的课程实验查看请求;实验情况返回模块511,用于根据所述课程实验查看请求向所述第一用户返回在所述第一攻防课程对应的虚拟演练网络中进行实验操作的用户的实验情况;请求获取模块512,用于获取所述第一用户根据所述实验情况发起的网络进入请求;第二请求映射模块513,用于将所述网络进入请求映射至所述网络进入请求对应的第二虚拟主机,以对所述第二虚拟主机进行控制。需要说明的是,图7对应的实施例中未提及的内容可参见方法实施例的描述,这里不再赘述。本发明实施例中,虚拟演练网络的创建装置通过将用户创建的与课程相关联的第一网络模板保存,在用户在该课程中进行训练时,虚拟演练网络的创建装置根据与课程对应的第一网络模板为其创建虚拟演练网络,虚拟演练网络模拟了真实的网络环境,用户可以在虚拟演练网络中进行实验,可以得到更多的训练;另外,不同课程对应不同的网络模板,根据网络模板创建虚拟演练网络能够使得创建的虚拟演练网络能够与课程内容相匹配,使用户在学习了课程内容后能够得到与课程内容相匹配的练习,有助于提高用户的能力。参见图8,图8是本发明实施例提供的另一种虚拟演练网络的创建装置的组成结构示意图,该装置可以为云系统或云系统的一部分,如图所示,该装置60包括处理器601、存储器602以及输入输出接口603。处理器601连接到存储器602和通信接口603,例如处理器601可以通过总线连接到存储器602和通信接口603。处理器601被配置为支持所述保存服务器日志的装置执行图3-图6所述的保存服务器日志的方法中相应的功能。该处理器601可以是中央处理器(centralprocessingunit,cpu),网络处理器(networkprocessor,np),硬件芯片或者其任意组合。上述硬件芯片可以是专用集成电路(application-specificintegratedcircuit,asic),可编程逻辑器件(programmablelogicdevice,pld)或其组合。上述pld可以是复杂可编程逻辑器件(complexprogrammablelogicdevice,cpld),现场可编程逻辑门阵列(field-programmablegatearray,fpga),通用阵列逻辑(genericarraylogic,gal)或其任意组合。存储器602存储器用于存储程序代码等。存储器602可以包括易失性存储器(volatilememory,vm),例如随机存取存储器(randomaccessmemory,ram);存储器602也可以包括非易失性存储器(non-volatilememory,nvm),例如只读存储器(read-onlymemory,rom),快闪存储器(flashmemory),硬盘(harddiskdrive,hdd)或固态硬盘(solid-statedrive,ssd);存储器602还可以包括上述种类的存储器的组合。本发明实施例中,存储器602用于存储保存服务器日志的应用程序。所述通信接口603用于输入或输出数据。处理器601可以调用所述程序代码以执行以下操作:获取第一用户针对第一攻防课程创建的第一网络模板,所述第一网络模板包括网络拓扑、所述网络拓扑对应的路由参数、所述网络拓扑对应的网络参数以及所述网络拓扑对应的主机参数;保存所述第一网络模板,并将所述第一网络模板与所述第一攻防课程的对应关系保存在课程模板关联表中;当获取到第二用户针对所述第一攻防课程发起的虚拟环境启动请求时,根据所述课程模板关联表获取所述第一网络模板;根据所述网络拓扑、所述网络拓扑对应的路由参数、所述网络拓扑对应的网络参数以及所述网络拓扑对应的主机参数在云系统的云环境中创建所述第一网络模板对应的虚拟演练网络。需要说明的是,各个操作的实现还可以对应参照图2-图6所示的方法实施例的相应描述;所述处理器601还可以与通信接口603配合执行上述方法实施例中的其他操作。本发明实施例还提供一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被计算机执行时使所述计算机执行如前述实施例所述的方法,所述计算机可以为上述提到的虚拟演练网络的创建装置的一部分。例如为上述的处理器601。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1