一种基于wireguard的组网节点的配置生成方法及设备与流程

文档序号:31879916发布日期:2022-10-21 22:55阅读:74来源:国知局
1.本技术涉及计算机
技术领域
:,尤其涉及一种基于wireguard的组网节点的配置生成方法及设备。
背景技术
::2.现有技术中,wireguard是一个通过udp协议,实现端对端的连接,更加安全的保护梯子,支持使用虚拟网卡,通过udp协议方式构建互联的vpn网络。虽然wireguard的配置比较简单,但是随着加入网络中机器数量的增多,以及网络实际拓扑结构随着时间而动态变化的需求产生,让人工维护wireguard网络配置方式变得及其困难,维护大规模wireguard网络则是不可能任务,因此,如何实现自动化、智能化生成和维护wireguard配置的高效方法或平台成为当前业界研究的主要课题。技术实现要素:3.本技术的一个目的是提供一种基于wireguard的组网节点的配置生成方法及设备,解决了现有的wireguard组件的网络结构难以维护和变更的问题,实现了智能化高效地生成和维护wireguard配置。4.根据本技术的一个方面,提供了一种基于wireguard的组网节点的配置生成方法,应用于所述wireguard网络对应的中控服务器,其中,所述方法包括:5.接收所述wireguard网络中的ui平台端携带变更结果发起的变更请求,其中,所述变更结果由所述ui平台端响应于维护人员在操作界面对所述wireguard网络中的组网节点进行的更新拓扑结构的变更操作而获取,所述变更结果包括变更类型;6.调用与所述变更类型对应的目标配置生成策略;7.根据所述目标配置生成策略,确定在所述wireguard网络中的、与所述变更结果关联的至少一个目标组网节点,并生成最新的wireguard配置信息;8.将所述最新的wireguard配置信息分别发送给所述至少一个目标组网节点,以使每个所述目标组网节点分别根据所述最新的wireguard配置信息对自身的wireguard配置信息进行更新;其中,所述至少一个目标组网节点包括所述ui平台端。9.进一步地,上述方法中,所述方法还包括:10.通过远程调用的方式与所述wireguard网络中的每个组网节点建立连接。11.进一步地,上述方法中,若所述变更类型为向所述wireguard网络中新增组网节点,其中,所述根据所述目标配置生成策略,确定在所述wireguard网络中的、与所述变更结果关联的至少一个目标组网节点,并生成最新的wireguard配置信息,包括:12.生成第一公私密钥对,所述第一公私密钥对包括第一私钥;13.使用所述第一私钥构建所述新增组网节点的接口配置信息;14.使用所述wireguard网络中的所有节点构建所述wireguard网络的第一同类配置信息;15.更新所述新增组网节点的接口配置信息至数据库;16.追加所述新增组网节点的接口配置信息至所述wireguard网络中的所有节点的接口配置信息中,以得到所述wireguard网络中的所有节点中的每个节点的更新后的接口配置信息;17.将所述wireguard网络中的所有节点中的每个节点的更新后的接口配置信息更新至所述数据库中。18.进一步地,上述方法中,若所述变更类型为将所述wireguard网络中的原有组网节点设置为入口网关,其中,所述根据所述目标配置生成策略,确定在所述wireguard网络中的、与所述变更结果关联的至少一个目标组网节点,并生成最新的wireguard配置信息,包括:19.所述根据所述目标配置生成策略,确定在所述wireguard网络中的、与所述变更结果关联的入口网关;20.生成第二公私密钥对,所述第二公私密钥对包括第二私钥;21.使用所述第二私钥构建当前的移动节点的接口配置信息,使用所述入口网关构建所述wireguard网络的第二同类配置信息;22.配置所述入口网关的防火墙;23.基于所述移动节点的接口配置信息、所述wireguard网络的第二同类配置信息及所述入口网关的防火墙,生成最新的wireguard配置信息。24.进一步地,上述方法中,若所述变更类型为将所述wireguard网络中的原有组网节点设置为出口网关,其中,所述根据所述目标配置生成策略,确定在所述wireguard网络中的、与所述变更结果关联的至少一个目标组网节点,并生成最新的wireguard配置信息,包括:25.所述根据所述目标配置生成策略,确定在所述wireguard网络中的、与所述变更结果关联的出口网关和发起节点;26.更新发起节点的接口配置信息中的出口网关节点的允许ip,并更新所述发起节点的路由策略;27.更新所述出口网关的防火墙策略和路由策略,以生成最新的wireguard配置信息。28.进一步地,上述方法中,所述变更类型还包括将所述wireguard网络中的一组网节点设置为所述wireguard网络中的其他组网节点的中继服务器。29.根据本技术的另一方面,还提供了一种非易失性存储介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行时,使所述处理器实现如上述基于wireguard的组网节点的配置生成方法。30.根据本技术的另一方面,还提供了一种基于wireguard的组网节点的配置生成设备,其中,该设备包括:31.一个或多个处理器;32.计算机可读介质,用于存储一个或多个计算机可读指令,33.当所述一个或多个计算机可读指令被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述基于wireguard的组网节点的配置生成方法。34.与现有技术相比,本技术通过wireguard网络中的ui平台端响应于维护人员在操作界面对所述wireguard网络中的组网节点进行的更新拓扑结构的变更操作获取变更结果,所述变更结果包括变更类型,并携带变更结果向wireguard网络对应的中控服务器发起的变更请求;所述中控服务器调用与所述变更类型对应的目标配置生成策略,并根据所述目标配置生成策略,确定在所述wireguard网络中的、与所述变更结果关联的至少一个目标组网节点,并生成最新的wireguard配置信息,最后将所述最新的wireguard配置信息分别发送给所述至少一个目标组网节点,以使每个所述目标组网节点分别根据所述最新的wireguard配置信息对自身的wireguard配置信息进行更新;其中,所述至少一个目标组网节点包括所述ui平台端,不仅解决了现有的wireguard组件的网络结构难以维护和变更的问题,还实现了智能化高效地生成和维护wireguard配置,从而有效地降低了人工维护wireguard网络的成本,使得维护大规模wireguard网络成为可能,具有更好的应用前景和实用性。附图说明35.通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本技术的其它特征、目的和优点将会变得更明显:36.图1示出根据本技术一个方面的一种基于wireguard的组网节点的配置生成方法的流程示意图;37.图2示出根据本技术一个方面的一种基于wireguard的组网节点的配置生成方法涉及的三方设备的交互示意图;38.图3示出根据本技术一个方面的一种基于wireguard的组网节点的配置生成方法中的新增组网节点的配置设置示意图;39.图4示出根据本技术一个方面的一种基于wireguard的组网节点的配置生成方法中的设置入口网关的配置设置示意图;40.图5示出根据本技术一个方面的一种基于wireguard的组网节点的配置生成方法中的设置出口网关的配置设置示意图。41.附图中相同或相似的附图标记代表相同或相似的部件。具体实施方式42.下面结合附图对本技术作进一步详细描述。43.在本技术一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。44.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。45.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。46.如图1所示,本技术的一个方面提出了一种基于wireguard的组网节点的配置生成方法的流程示意图,该方法应用于wireguard网络中的中控服务器,其中,该方法还涉及维护wireguard网络的ui平台端和所述wireguard网络中的各个组网节点,每个组网节点既可以是客户端(client端),也可以是任意终端所在的节点等,比如手机、电脑等任意移动终端。其中,应用于中控服务器端的方法包括步骤s11、步骤s12、步骤s13和步骤s14,具体包括如下步骤:47.如图2所示,当维护人员需要对wireguard网络中的拓扑结构进行变更时,在维护wireguard网络的ui平台端(对应图2中的uiplatform)会向维护人员呈现图形化的操作界面,以供维护人员在操作界面进行更新拓扑结构的变更操作,所述ui平台端响应于维护人员在操作界面对所述wireguard网络中的组网节点进行的更新拓扑结构的变更操作,获取变更结果,该变更结果包括变更类型,其中,所述变更类型包括但不限于向所述wireguard网络中新增组网节点、将所述wireguard网络中的原有组网节点设置为入口网关、将所述wireguard网络中的原有组网节点设置为出口网关及将所述wireguard网络中的一组网节点设置为所述wireguard网络中的其他组网节点的中继服务器等情况。ui平台端获取到维护人员需要进行变更wireguard网络的拓扑结构的变更结果后,会将所述变更结果立即反馈给wireguard网络对应的中控服务器(对应图2中的ctrlserver)。48.在步骤s11中,所述中控服务器接收所述wireguard网络中的ui平台端携带变更结果发起的变更请求,其中,所述变更结果由所述ui平台端响应于维护人员在操作界面对所述wireguard网络中的组网节点进行的更新拓扑结构的变更操作而获取,所述变更结果包括变更类型。49.在步骤s12中,所述中控服务器调用与所述变更类型对应的目标配置生成策略,在此,不同变更类型对应不同的配置生成策略。50.在步骤s13中,所述中控服务器根据所述目标配置生成策略,确定在所述wireguard网络中的、与所述变更结果关联的至少一个目标组网节点,并生成最新的wireguard配置信息;在此,所述目标组网节点既包括是当前的组网节点本身,也可以包括与当前的组网节点本身有关联关系的且在wireguard网络中的其他组网节点。51.在步骤s14中,所述中控服务器将所述最新的wireguard配置信息分别发送给所述至少一个目标组网节点,以使每个所述目标组网节点分别根据所述最新的wireguard配置信息对自身的wireguard配置信息进行更新;其中,所述至少一个目标组网节点包括所述ui平台端。52.其中,在wireguard网络中的每个组网节点都需要预装到所有要加入该wireguard网络的节点,即该wireguard网络中的各个组网节点之间的数据链路是相通的。53.通过上述步骤s11至步骤s14,不仅解决了现有的wireguard组件的网络结构难以维护和变更的问题,还实现了智能化高效地生成和维护wireguard配置,从而有效地降低了人工维护wireguard网络的成本,使得维护大规模wireguard网络成为可能,具有更好的应用前景和实用性。54.接着本技术的上述实施例,所述方法还包括:55.通过远程调用的方式与所述wireguard网络中的每个组网节点建立连接。56.如图2所示,在达到高效维护wireguard网络的目的的设备结构交互图中,wireguard网络中的每个组网节点(对应图2中的client端)通过grpc方式(远程调用的方式)或者通过应用程序编程接口api连接到wireguard网络中的中控服务器,该wireguard网络中的每个组网节点都接受中控服务器的统一控制和管理,以便每个组网节点在接收到中控服务器推送过来的最新的wireguard配置信息后,可以根据所述最新的wireguard配置信息对自身的wireguard配置信息进行更新,从而达到高效维护wireguard网络的目的。57.接着本技术的上述实施例,若所述变更类型为向所述wireguard网络中新增组网节点,其中,所述步骤s13根据所述目标配置生成策略,确定在所述wireguard网络中的、与所述变更结果关联的至少一个目标组网节点,并生成最新的wireguard配置信息,具体包括:如图3所示,在图3中,为了在所述wireguard网络中新增peer类型的节点,即在wireguard网络中新增组网节点,在中控服务器中,先生成第一公私密钥对,所述第一公私密钥对包括第一私钥;然后,使用所述第一私钥构建所述新增组网节点本身的wginterface部分的接口配置信息;接着,使用所述wireguard网络中(同网段中)的所有节点构建所述wireguard网络的第一同类配置信息,即构建wgpeer部分的配置信息;之后,更新当前的新增组网节点的接口配置信息至数据库(database,db);再追加当前的新增组网节点的接口配置信息至所述wireguard网络中的所有其他节点的peer接口配置信息中,以得到所述wireguard网络中的所有节点中的每个节点的更新后的接口配置信息;最后,将所述wireguard网络中的所有节点中的每个节点的更新后的接口配置信息更新至所述数据库中,以实现在中控服务器对新增组网节点后的各个组网节点的配置信息的更新和生成,以便在每个组网节点所在的客户端,可以拉取当前的新增组网节点的最新的wireguard配置信息对自身的wireguard配置信息进行更新,比如,重启或更新网口设备后更新路由策略等,以达到高效维护wireguard网络中的各个组网节点的配置信息同步更新的目的。58.接着本技术的上述实施例,如图4所示,在实际应用场景中,当手机或电脑等设备想要访问网络的资源,但又不想受netmaker网络的管控时,就可以将网络中原有的组网节点设置为入口网关,即若所述变更类型为将所述wireguard网络中的原有组网节点设置为入口网关,其中,所述步骤s13根据所述目标配置生成策略,确定在所述wireguard网络中的、与所述变更结果关联的至少一个目标组网节点,并生成最新的wireguard配置信息,具体包括:如图4所示,先根据所述目标配置生成策略,确定在所述wireguard网络中的、与所述变更结果关联的入口网关;然后,生成第二公私密钥对,所述第二公私密钥对包括第二私钥;接着,使用所述第二私钥构建当前的移动节点(对应图4中的mobile节点)本身的wginterface部分的接口配置信息,并使用所述入口网关(对应图4中的ingress节点)构建所述wireguard网络的第二同类配置信息,即构建wgpeer部分配置信息;同时,还需要配置所述入口网关(对应图4中的ingress节点)的防火墙(对应图4中的iptables)以允许中继移动节点的数据包等;最后,基于所述移动节点的接口配置信息、所述wireguard网络的第二同类配置信息及所述入口网关的防火墙,生成最新的wireguard配置信息,实现对wireguard网络中的原有的组网节点设置为入口网关以满足网络的访问需求。59.接着本技术的上述实施例,若所述变更类型为将所述wireguard网络中的原有组网节点设置为出口网关,其中,所述根据所述目标配置生成策略,确定在所述wireguard网络中的、与所述变更结果关联的至少一个目标组网节点,并生成最新的wireguard配置信息,包括:所述根据所述目标配置生成策略,确定在所述wireguard网络中的、与所述变更结果关联的出口网关和发起节点;更新发起节点的接口配置信息中的出口网关节点的允许ip,并更新所述发起节点的路由策略;更新所述出口网关的防火墙策略和路由策略,以生成最新的wireguard配置信息。在实际的应用场景中,如图5所示,在网络中的某个可以访问国外网络的节点在office中,只能访问国内网络的其他节点想要访问移动办公网段(office网段)中的某个ip的服务时,需要通过office网段中的可以访问国外网络的节点作为出口网关,来转发仅可以访问国内网络但又想访问国外网络的节点的流量,即将office网段中的可以访问国外网络的节点设置为出口网关(egressgateway)来转发流量,具体变更配置信息的过程如图5所示,在仅可以访问国内网络的a节点的配置信息中更新可以访问国外网络的office节点的允许ip,并更新该a节点的路由策略;然后更新可以访问国外网络的office节点的防火墙策略(iptables)和路策略60.更新发起节点的接口配置信息中的出口网关节点的允许ip,并更新所述发起节点的路由策略;更新所述出口网关的防火墙策略和路由策略,满足对同网段中想要通过其他可以访问外网的节点访问外网的需求。61.接着本技术的上述实施例,所述变更类型还包括将所述wireguard网络中的一组网节点设置为所述wireguard网络中的其他组网节点的中继服务器。比如,在实际应用场景中,当wireguard网络中的某个组网节点c只能被wireguard网络中的组网节点b访问到,而不能被其他组网节点直接访问,这时,可以将组网节点b设置为组网节点c的中继节点(relayserver)。62.根据本技术的另一方面,还提供了一种非易失性存储介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行时,使所述处理器实现如上述基于wireguard的组网节点的配置生成方法。63.根据本技术的另一方面,还提供了一种基于wireguard的组网节点的配置生成设备,其中,该设备包括:64.一个或多个处理器;65.计算机可读介质,用于存储一个或多个计算机可读指令,66.当所述一个或多个计算机可读指令被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述基于wireguard的组网节点的配置生成方法。67.在此,所述基于wireguard的组网节点的配置生成设备中的各实施例的详细内容,具体可参见上述基于wireguard的组网节点的配置生成方法的实施例的对应部分,在此,不再赘述。68.综上所述,本技术通过wireguard网络中的ui平台端响应于维护人员在操作界面对所述wireguard网络中的组网节点进行的更新拓扑结构的变更操作获取变更结果,所述变更结果包括变更类型,并携带变更结果向wireguard网络对应的中控服务器发起的变更请求;所述中控服务器调用与所述变更类型对应的目标配置生成策略,并根据所述目标配置生成策略,确定在所述wireguard网络中的、与所述变更结果关联的至少一个目标组网节点,并生成最新的wireguard配置信息,最后将所述最新的wireguard配置信息分别发送给所述至少一个目标组网节点,以使每个所述目标组网节点分别根据所述最新的wireguard配置信息对自身的wireguard配置信息进行更新;其中,所述至少一个目标组网节点包括所述ui平台端,不仅解决了现有的wireguard组件的网络结构难以维护和变更的问题,还实现了智能化高效地生成和维护wireguard配置,从而有效地降低了人工维护wireguard网络的成本,使得维护大规模wireguard网络成为可能,具有更好的应用前景和实用性。69.需要注意的是,本技术可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(asic)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本技术的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本技术的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,ram存储器,磁或光驱动器或软磁盘及类似设备。另外,本技术的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。70.另外,本技术的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本技术的方法和/或技术方案。而调用本技术的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本技术的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本技术的多个实施例的方法和/或技术方案。71.对于本领域技术人员而言,显然本技术不限于上述示范性实施例的细节,而且在不背离本技术的精神或基本特征的情况下,能够以其他的具体形式实现本技术。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本技术的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本技术内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1