CN111669283B - 一种openvpn中网络隔离空间的批量处理方法及openvpn服务器 - Google Patents

一种openvpn中网络隔离空间的批量处理方法及openvpn服务器 Download PDF

Info

Publication number
CN111669283B
CN111669283B CN201910176734.8A CN201910176734A CN111669283B CN 111669283 B CN111669283 B CN 111669283B CN 201910176734 A CN201910176734 A CN 201910176734A CN 111669283 B CN111669283 B CN 111669283B
Authority
CN
China
Prior art keywords
network isolation
isolation space
configuration file
control instruction
spaces
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910176734.8A
Other languages
English (en)
Other versions
CN111669283A (zh
Inventor
曹志文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xiamen Wangsu Co Ltd
Original Assignee
Xiamen Wangsu Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xiamen Wangsu Co Ltd filed Critical Xiamen Wangsu Co Ltd
Priority to CN201910176734.8A priority Critical patent/CN111669283B/zh
Publication of CN111669283A publication Critical patent/CN111669283A/zh
Application granted granted Critical
Publication of CN111669283B publication Critical patent/CN111669283B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0889Techniques to speed-up the configuration process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种openvpn中网络隔离空间的批量处理方法及openvpn服务器,其中,所述方法包括:创建各个所述网络隔离空间的配置文件,并为各个所述网络隔离空间分配唯一标识符;接收外部设备发来的控制指令,所述控制指令中携带指向网络隔离空间的若干个唯一标识符;按照所述控制指令对所述若干个唯一标识符分别指向的网络隔离空间以及所述指向的网络隔离空间的配置文件进行批量处理。本申请提供的技术方案,能够对openvpn中的网络隔离空间进行批量处理。

Description

一种openvpn中网络隔离空间的批量处理方法及openvpn服 务器
技术领域
本发明涉及互联网技术领域,特别涉及一种openvpn中网络隔离空间的批量处理方法及openvpn服务器。
背景技术
随着云计算技术的兴起,网络中的计算资源可以作为共享资源提供给用户,从而通过强大的计算能力完成较高难度的计算任务。为了给不同的网络租户提供独立的计算资源,通常可以将不同的网络租户进行网络隔离。
目前,在openvpn(基于OpenSSL的虚拟专用网络)服务器中,可以通过Linux内核来实现网络隔离。具体地,在Linux系统中,可以通过输入IP指令来创建多个不同的网络隔离空间。
然而,现有的基于内核态的网络隔离空间的处理方法,每次只能对单一的网络隔离空间进行配置,无法同时对多个网络隔离空间进行批量配置,从而导致网络隔离空间的配置效率较低。
发明内容
本申请的目的在于提供一种openvpn中网络隔离空间的批量处理方法及openvpn服务器,能够对openvpn服务器中的多个网络隔离空间进行批量处理。
为实现上述目的,本申请一方面提供一种openvpn中网络隔离空间的批量处理方法,openvpn服务器上设有多个网络隔离空间,所述方法包括:创建各个所述网络隔离空间的配置文件,并为各个所述网络隔离空间分配唯一标识符;接收外部设备发来的控制指令,所述控制指令中携带指向网络隔离空间的若干个唯一标识符;按照所述控制指令对所述若干个唯一标识符分别指向的网络隔离空间以及所述指向的网络隔离空间的配置文件进行批量处理。
为实现上述目的,本申请另一方面还提供一种openvpn服务器,所述openvpn服务器上设有多个网络隔离空间,所述openvpn服务器包括:空间信息配置单元,用于创建各个所述网络隔离空间的配置文件,并为各个所述网络隔离空间分配唯一标识符;控制指令接收单元,用于接收外部设备发来的控制指令,所述控制指令中携带指向网络隔离空间的若干个唯一标识符;批量处理单元,用于按照所述控制指令对所述若干个唯一标识符分别指向的网络隔离空间以及所述指向的网络隔离空间的配置文件进行批量处理。
为实现上述目的,本申请另一方面还提供一种openvpn服务器,所述openvpn服务器包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的openvpn中网络隔离空间的批量处理方法。
由上可见,本申请提供的技术方案,可以分别为openvpn服务器中的每个网络隔离空间分配唯一标识符,并且可以针对每个网络隔离空间设置独立的配置文件。这样,对于不同的网络隔离空间而言,可以设置多份不同的配置文件。当要对网络隔离空间进行处理时,外部设备可以发送控制指令,该控制指令中可以携带指向网络隔离空间的若干个唯一标识符。当openvpn服务器接收到携带唯一标识符的控制指令后,可以按照所述控制指令对所述若干个唯一标识符分别指向的网络隔离空间以及所述指向的网络隔离空间的配置文件进行批量处理。由上可见,本申请提供的技术方案,可以通过在控制指令中添加若干个网络隔离空间的唯一标识符,从而可以实现对若干个网络隔离空间及其配置文件进行批量处理。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施方式中openvpn的系统结构示意图;
图2是本发明实施方式中openvpn中网络隔离空间的批量处理方法流程图;
图3是本发明实施方式中控制层面和数据层面的配置文件的处理流程图;
图4是本发明实施方式中网络隔离空间及其配置文件的多种处理方法示意图;
图5是本发明实施方式中openvpn服务器的功能模块示意图;
图6是本发明实施方式中openvpn服务器的结构示意图;
图7是本发明中计算机终端的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本申请提供一种openvpn中网络隔离空间的批量处理方法,所述方法可以应用于openvpn服务器中。请参阅图1,客户端可以通过openvpn服务器,与业务服务器进行通信。所述openvpn服务器可以与外部设备相连,所述外部设备可以向所述openvpn服务器发送各种控制指令。
在本实施方式中,可以对原先基于内核态协议栈的openvpn服务器进行改造,使得改造后的openvpn服务器能够兼容用户态协议栈。具体地,openvpn服务器可以处理控制流的数据报文以及数据流的数据报文。其中,所述控制流的数据报文可以是openvpn服务器与外部设备在通信协商过程中产生的,该通信协商过程可以用于确定openvpn服务器与外部设备之间采用的通信协议、协议的封装模式、加密算法、特定流中保护数据的共享密钥以及密钥的生存周期等信息。所述数据流的数据报文则可以是openvpn服务器与外部设备之间按照通信协商的结果进行传输的数据报文,数据流的数据报文通常需要经过封装/解封装、加密/解密以及转发的过程。
在本实施方式中,在对openvpn服务器进行改造后,控制流的控制报文依然可以交由基于内核态协议栈的内核系统处理,而数据流的数据报文则可以交由基于用户态协议栈的应用程序处理。其中,基于用户态协议栈的应用程序可以是利用DPDK(Data Plane Development Kit,数据平面开发套件)技术实现的。在本实施方式中,在所述openvpn服务器中可以设有多个网络隔离空间,对于每个网络隔离空间而言,其上的租户可以处理控制流的数据报文和数据流的数据报文。
请参阅图2,本申请提供的openvpn中网络隔离空间的批量处理方法可以包括以下步骤。
S1:创建各个所述网络隔离空间的配置文件,并为各个所述网络隔离空间分配唯一标识符。
在本实施方式中,针对所述openvpn服务器中的多个网络隔离空间,可以为各个所述网络隔离空间分配唯一标识符,并且可以将所述唯一标识符作为网络隔离空间的名称。此外,还可以为各个网络隔离空间设置各自的配置文件,所述配置文件中可以包括监听端口、应用连接方式、IP池资源、证书、证书存放位置、报文加密算法等信息。在实际应用中,所述唯一标识符可以是按照散列算法计算出的具备唯一性的字符串,也可以是随机生成的一串数字,还可以是不重复的指针,还可以是不重复的配置文件的文件名。
在本实施方式中,在设置网络隔离空间的配置文件时,需要在配置文件中确定上述列举的各项信息,这些信息可以作为网络隔离空间在正常运行时所需的配置信息。在现有的openvpn中,各个网络隔离空间所使用的配置信息可以汇总于一个预设配置文件中。在给创建的当前网络隔离空间设置配置文件时,可以预先确定当前网络隔离空间所需的配置信息,然后,可以从所述预设配置文件记录的多种配置信息中确定当前网络隔离空间所需的配置信息,并将确定的配置信息从预设配置文件中拆分出来。需要说明的是,从预设配置文件中拆分出的配置信息,并不会从预设配置文件中抹除,而是会继续保留在预设配置文件中。这样,多个不同的网络隔离空间在从预设配置文件中拆分所需的配置信息时,可以得到重复的配置信息。在从预设配置文件中拆分得到当前网络隔离空间所需的配置信息后,便可以将拆分出的配置信息记录于所述当前网络隔离空间的配置文件中,从而完成配置文件的设置过程。
由上可见,由于网络资源空间可以通过唯一标识符来表示,因此在针对各个网络隔离空间拆分配置信息时,实际上可以视为在openvpn内部以唯一标识符为单位对预设配置文件进行配置信息的拆分,最终使得每个唯一标识符均具备独立的配置信息。同时,由于多个不同的网络隔离空间可以拆分出相同的配置信息,因此设置的各个配置文件之间也可能存在重复的内容。
请参阅图3,由于在openvpn中需要同时处理控制流数据报文和数据流数据报文,因此在同一个网络隔离空间内,针对控制层面和数据层面,可以分别配置各自的配置文件。这样,针对某个网络隔离空间的配置文件而言,该配置文件中可以包括控制层面配置文件和数据层面配置文件。此外,控制流的数据报文可以由内核系统中的控制进程来处理,而数据流的数据报文则可以由用户态协议栈进程来处理。
在现有技术中,当通过IP指令对网络隔离空间进行处理时,openvpn首先会创建进程A,该进程A可以切换至待处理的网络隔离空间。然后,进程A可以继续创建一个子进程B,该子进程B可以执行对应的指令,并可以将执行结果反馈给进程A,从而完成对网络隔离空间的处理过程。由此可见,现有技术中如果要执行N条指令,那么就需要创建2N个进程,这样无疑会极大地消耗openvpn的资源。鉴于此,在本申请一个实施方式中,在设置各个所述网络隔离空间的配置文件之后,可以通过单个的用户态协议栈进程管理所述多个网络隔离空间的配置文件。也就是说,在本实施方式中,并不会为每个网络隔离空间开设独立的进程,而是通过单个的用户态协议栈进程管理创建的多个网络隔离空间及其配置文件。这样,后续可以通过该单个用户态协议栈进程,批量启动所述多个网络隔离空间的配置文件,从而避免了在启动多个配置文件的过程中导致的进程资源浪费。
S3:接收外部设备发来的控制指令,所述控制指令中携带指向网络隔离空间的若干个唯一标识符。
在本实施方式中,当需要创建新的网络隔离空间,或者对已创建的网络隔离空间进行删除、重新加载等操作时,可以通过外部设备生成对应的控制指令。在实际应用中,所述控制指令通常具备一定的格式,该格式可以是外部设备与openvpn服务器之间预先预定的。具体地,该格式可以限定所述控制指令中至少包括三类信息:预设标准字符、用于表征操作类型的命令符以及网络隔离空间的唯一标识符。其中,所述预设标准字符可以是用于表征外部设备当前发送的数据类型是控制指令,该预设标准字符例如可以是openvpn cmd。所述用于表征操作类型的命令符可以根据操作类型的不同而具备不同的表达形式。例如,针对创建新的网络隔离空间而言,对应的命令符可以是add netns;针对删除已创建的网络隔离空间而言,对应的命令符可以是del netns;针对重新加载已创建的网络隔离空间而言,对应的命令符可以是reload netns。所述唯一标识符可以作为控制指令所针对的对象。若所述控制指令仅针对一个网络隔离空间进行处理,那么在该控制指令中可以仅携带一个唯一标识符。而如果所述控制指令需要针对多个网络隔离空间进行批量处理,那么在该控制指令中则需要携带待处理的各个网络隔离空间的唯一标识符。举例来说,当前需要对唯一标识符为ns1和ns2的两个网络隔离空间进行批量重载操作,那么生成的控制指令可以是:
openvpn_cmd reload_netns<ns1><ns2>
当然,上述预设格式的组成部分中涉及的预设标准字符、命令符等,只是为了便于阐述本申请的技术方案而例举的情况,并非表示本申请的技术方案仅限于以上例举的这些预设标准字符和命令符。此外,该预设格式的组成部分,也可以根据实际情况的不同,由外部设备与openvpn服务器预先约定其它的形式,本申请对此也不做限定。
S5:按照所述控制指令对所述若干个唯一标识符分别指向的网络隔离空间以及所述指向的网络隔离空间的配置文件进行批量处理。
在本实施方式中,openvpn服务器接收到所述控制指令后,可以解析其中的命令符和唯一标识符,从而确定应当对哪些(或者哪个)网络隔离资源执行怎样的操作。其中,若所述控制指令中仅携带一个唯一标识符,那么可以按照所述控制指令对所述唯一标识符指向的网络隔离空间以及所述指向的网络隔离空间的配置文件进行单独处理,从而不会影响别的网络隔离空间和配置文件。而如果所述控制指令中携带多个唯一标识符,那么可以按照所述控制指令对所述多个唯一标识符分别指向的网络隔离空间以及所述指向的网络隔离空间的配置文件进行批量处理,这样,可以通过一条控制指令,对多个网络隔离空间进行批量处理,从而克服了现有技术中只能对单个配置文件进行单独处理的弊端。
在实际应用中,无论是批量处理还是单独处理,对网络隔离空间和配置文件进行处理的方式可以包括多种情况。具体地,请参阅图4,处理的方式可以包括创建新的网络隔离空间,并为所述新的网络隔离空间分配唯一标识符以及设置所述新的网络隔离空间的配置文件。此外,还可以删除已创建的一个网络隔离空间以及所述网络隔离空间的配置文件。再者,还可以修改已创建的一个网络隔离空间的配置文件,并按照修改后的配置文件,重新加载对应的网络隔离空间。上述的三种处理方式,可以分别对应上述例举的控制指令中的add netns、del netns以及reload netns。
在本实施方式中,若所述控制指令为表征新建网络隔离空间的新建或添加指令,那么可以在所述openvpn服务器中创建新的网络隔离空间,并为所述新的网络隔离空间分配所述控制指令中携带的唯一标识符以及设置所述新的网络隔离空间的配置文件。具体地,openvpn服务器在接收到所述控制指令后,可以识别所述控制指令中携带的唯一标识符的数量,并根据识别出的所述数量,在所述openvpn服务器中创建等量的新的网络隔离空间。例如,所述控制指令中携带了2个唯一标识符,那么openvpn服务器便可以创建2个新的网络隔离空间。然后,可以将所述控制指令中携带的唯一标识符依次分配给创建的各个所述新的网络隔离空间。例如,所述控制指令中携带的两个唯一标识符为ns1和ns2,那么创建的两个新的网络隔离空间的唯一标识符便可以是ns1和ns2。
在一个实施方式中,若所述控制指令为表征删除网络隔离空间的删除指令,那么openvpn服务器可以按照所述控制指令删除已创建的一个或者多个网络隔离空间以及删除所述一个或者多个网络隔离空间的配置文件。具体地,openvpn服务器可以识别所述控制指令中携带的各个唯一标识符,并确定所述各个唯一标识符分别指向的目标网络隔离空间,然后,可以删除所述目标网络隔离空间以及删除所述目标网络隔离空间的配置文件。
在一个实施方式中,在针对某个网络隔离空间的配置文件进行修改之后,可以将修改之前的配置文件以及修改后的配置文件同时存储。因此,如果某个网络隔离空间的配置文件曾经发生过修改,那么该网络隔离空间可以对应两个版本的配置文件。其中,修改之前的配置文件可以作为原有的配置文件,修改的配置文件可以作为当前的配置文件。那么如果openvpn服务器接收到的控制指令为表征重新加载网络隔离空间的重载指令,则可以获取所述重载指令指向的目标网络隔离空间当前的配置文件,并将所述当前的配置文件和原有的配置文件进行对比。若所述当前的配置文件和所述原有的配置文件中内容并没有发生变化,则表示此时无需对该网络隔离空间进行重载,从而可以放弃当前的重载操作。而如果所述当前的配置文件和所述原有的配置文件中内容发生了变化,那么可以按照所述当前的配置文件,对所述目标网络隔离空间执行重新加载操作。
请参阅图3,在一个实施方式中,由于在openvpn中具备控制进程和用户态协议栈进程,那么外部设备发来的控制指令可以首先被所述控制进程接收。然后,控制进程可以在控制层面的配置文件中按照所述控制指令对所述若干个唯一标识符分别指向的网络隔离空间以及所述指向的网络隔离空间的配置文件进行批量处理。具体的处理过程可以如上所述,这里便不再赘述。在对控制层面的配置文件完成处理之后,数据层面的配置文件有时候也需要按照对应的方式进行处理。此时,控制进程可以通过进程之间共享内存的方式,向所述用户态协议栈进程发送批量处理通知,所述批量处理通知中可以包括待处理的网络隔离空间的唯一标识符以及对应的处理方式。在实际应用中,控制进程可以直接将上述的控制指令通过共享内存的方式共享给用户态协议栈进程,也可以从控制指令中识别出待处理的网络隔离空间以及处理方式后生成批量处理通知,并将批量处理通知转发给用户态协议栈进程。用户态协议栈进程接收到所述控制进程发来的所述批量处理通知后,便可以按照所述处理方式对所述待处理的网络隔离空间以及所述待处理的网络隔离空间的配置文件进行批量处理。这样,通过对控制层面配置文件和数据层面配置文件的同步处理,从而能够完成对网络隔离空间的整体配置文件的批量处理过程。
举例来说,如果针对目标网络隔离空间,当前准备修改监听端口等需要与用户态协议栈进程进行交互的内容,那么控制进程通过比对配置文件,确定出发生变化的内容后,可以向用户态协议栈进程发送包含所述目标网络隔离空间的唯一标识符的处理指令,以使得所述用户态协议栈进程按照所述处理指令,对发生变化的内容进行处理。
在实际应用中,有时候会发生操作异常,导致在所述用户态协议栈进程内划分的多个网络隔离空间中,并不包含与所述目标网络隔离空间的唯一标识符相匹配的网络隔离空间。那么此时,openvpn服务器可以输出配置出错的提示信息,以表明目前待配置的网络隔离空间并不存在于用户态协议栈中,需要重新确定需要配置的网络隔离空间。
在一个实施方式中,在openvpn服务器内创建的网络隔离空间可以存放于同一个目标目录下。这样,可以针对该目标目录下达对应的删除或者重载的指令,从而实现对该目标目录下所有的配置文件进行批量处理的过程。也就是说,所述若干个唯一标识符分别指向的网络隔离空间的配置文件可以存放于同一个目标目录下,后续可以对所述目标目录下的各个配置文件进行批量处理,从而达到批量操作的目的。此外,用户态协议栈进程在接收到启动或者重载配置文件的指令后,可以读取该目标目录下的所有配置文件,从而提高配置文件的批量处理效率。
在本实施方式中,由于多个网络隔离空间的配置文件是通过单个用户态协议栈的进程管理的,因此,除了可以利用所述单个用户态协议栈的进程批量启动多个网络隔离空间的配置文件,还可以按照所述控制指令对多个网络隔离空间进行批量处理,从而提高批量处理的效率。
请参阅图1,在一个实施方式中,openvpn服务器可以具备多个网络隔离空间的配置文件。例如图1中的配置文件A和配置文件B。那么这些配置文件加载的时机也可以按照实际情况来确定。具体地,可以在openvpn服务器初始化时加载各个网络隔离空间的配置文件,或者可以在openvpn服务器运行之后,接收所述外部设备发来的加载指令,并加载所述加载指令指向的网络隔离空间的配置文件。其中,每个配置文件中可以进一步地按照图3所示的方式划分为控制层面配置文件和数据层面配置文件。
需要说明的是,在实际应用中,所述配置文件可以由编程人员预先完成编辑,并将完成编辑的配置文件导入至openvpn服务器的指定目录中。这样,所述openvpn服务器可以从该指定目录下读取所述配置文件,并解析所述配置文件的内容。解析得到的内容可以存放于openvpn服务器的内存中,后续当需要对配置文件进行创建、修改或者删除时,编程人员可以通过向openvpn服务器下达控制指令,从而在openvpn服务器的指令目录下完成配置文件的创建、修改和删除操作。在编程人员完成操作后,openvpn服务器可以按照之前的方式,解析指定目录下的配置文件的内容,并可以将解析的内容与当前内存中存储的内容进行对比。当解析的内容与当前存储的内容出现差异时,openvpn服务器便可以按照解析的内容,重载各个网络隔离空间的配置文件,从而将编程人员在openvpn内的各项改动应用至网络隔离空间中。
请参阅图5,本申请还提供一种openvpn服务器,所述openvpn服务器上设有多个网络隔离空间,所述openvpn服务器包括:
空间信息配置单元,用于创建各个所述网络隔离空间的配置文件,并为各个所述网络隔离空间分配唯一标识符;
控制指令接收单元,用于接收外部设备发来的控制指令,所述控制指令中携带指向网络隔离空间的若干个唯一标识符;
批量处理单元,用于按照所述控制指令对所述若干个唯一标识符分别指向的网络隔离空间以及所述指向的网络隔离空间的配置文件进行批量处理。
在一个实施方式中,所述批量处理单元包括:
新建模块,用于若所述控制指令为表征新建网络隔离空间的新建或添加指令,在所述openvpn服务器中创建新的网络隔离空间,并为所述新的网络隔离空间分配所述控制指令中携带的唯一标识符以及设置所述新的网络隔离空间的配置文件。
在一个实施方式中,所述批量处理单元包括:
删除模块,用于若所述控制指令为表征删除网络隔离空间的删除指令,按照所述控制指令在所述openvpn服务器中删除已创建的一个或者多个网络隔离空间以及删除所述一个或者多个网络隔离空间的配置文件。
在一个实施方式中,所述批量处理单元包括:
对比模块,用于若所述控制指令为表征重新加载网络隔离空间的重载指令,获取所述重载指令指向的目标网络隔离空间当前的配置文件,并将所述当前的配置文件和所述目标网络隔离空间原有的配置文件进行比对;
重载模块,用于若所述当前的配置文件和所述原有的配置文件中内容发生变化,按照所述当前的配置文件,对所述目标网络隔离空间执行重新加载操作。
在一个实施方式中,所述openvpn服务器还包括:
单进程管理单元,用于通过单个用户态协议栈进程管理所述多个网络隔离空间的配置文件;
相应地,所述批量处理单元还用于通过所述单个用户态协议栈进程批量启动所述多个网络隔离空间的配置文件,以及按照所述控制指令对多个网络隔离空间进行批量处理。
请参阅图6,本申请还提供一种openvpn服务器,所述openvpn服务器包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的openvpn中网络隔离空间的批量处理方法。
请参阅图7,在本申请中,上述实施例中的技术方案可以应用于如图7所示的计算机终端10上。计算机终端10可以包括一个或多个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。本领域普通技术人员可以理解,图7所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图7中所示更多或者更少的组件,或者具有与图7所示不同的配置。
存储器104可用于存储应用软件的软件程序以及模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network I nterface Contro l l er,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Rad io Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
由上可见,本申请提供的技术方案,可以分别为openvpn服务器中的每个网络隔离空间分配唯一标识符,并且可以针对每个网络隔离空间设置独立的配置文件。这样,对于不同的网络隔离空间而言,可以设置多份不同的配置文件。当要对网络隔离空间进行处理时,外部设备可以发送控制指令,该控制指令中可以携带指向网络隔离空间的若干个唯一标识符。当openvpn服务器接收到携带唯一标识符的控制指令后,可以按照所述控制指令对所述若干个唯一标识符分别指向的网络隔离空间以及所述指向的网络隔离空间的配置文件进行批量处理。由上可见,本申请提供的技术方案,可以通过在控制指令中添加若干个网络隔离空间的唯一标识符,从而可以实现对若干个网络隔离空间及其配置文件进行批量处理。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (17)

1.一种openvpn中网络隔离空间的批量处理方法,openvpn服务器上设有多个网络隔离空间,其特征在于,所述多个网络隔离空间在同一个用户态协议栈进程内划分,所述方法包括:
创建各个所述网络隔离空间的配置文件,并为各个所述网络隔离空间分配唯一标识符;
接收外部设备发来的控制指令,所述控制指令中携带指向网络隔离空间的若干个唯一标识符;
按照所述控制指令对所述若干个唯一标识符分别指向的网络隔离空间以及所述指向的网络隔离空间的配置文件进行批量处理;
通过所述用户态协议栈进程管理所述多个网络隔离空间的配置文件;以及通过所述用户态协议栈进程批量启动所述多个网络隔离空间的配置文件,并按照所述控制指令对网络隔离空间进行批量处理。
2.根据权利要求1所述的方法,其特征在于,创建各个所述网络隔离空间的配置文件包括:
确定当前网络隔离空间所需的配置信息,并将所述配置信息记录于所述当前网络隔离空间的配置文件内;所述配置信息包括监听端口、应用连接方式、IP池资源、证书、证书存放位置、报文加密算法中的至少一种。
3.根据权利要求1所述的方法,其特征在于,按照所述控制指令对网络隔离空间以及配置文件进行批量处理包括:
若所述控制指令为表征新建网络隔离空间的新建或添加指令,在所述openvpn服务器中创建新的网络隔离空间,并为所述新的网络隔离空间分配所述控制指令中携带的唯一标识符以及设置所述新的网络隔离空间的配置文件。
4.根据权利要求3所述的方法,其特征在于,在所述openvpn服务器中创建新的网络隔离空间,并为所述新的网络隔离空间分配所述控制指令中携带的唯一标识符包括:
识别所述控制指令中携带的唯一标识符的数量,并根据识别出的所述数量,在所述openvpn服务器中创建等量的新的网络隔离空间,并将所述控制指令中携带的唯一标识符依次分配给创建的各个所述新的网络隔离空间。
5.根据权利要求1所述的方法,其特征在于,按照所述控制指令对网络隔离空间以及配置文件进行批量处理包括:
若所述控制指令为表征删除网络隔离空间的删除指令,按照所述控制指令在所述openvpn服务器中删除已创建的一个或者多个网络隔离空间以及删除所述一个或者多个网络隔离空间的配置文件。
6.根据权利要求5所述的方法,其特征在于,按照所述控制指令在所述openvpn服务器中删除已创建的一个或者多个网络隔离空间以及删除所述一个或者多个网络隔离空间的配置文件包括:
识别所述控制指令中携带的各个唯一标识符,并在所述openvpn服务器中确定所述各个唯一标识符分别指向的目标网络隔离空间,并删除所述目标网络隔离空间以及删除所述目标网络隔离空间的配置文件。
7.根据权利要求1所述的方法,其特征在于,按照所述控制指令对网络隔离空间以及配置文件进行批量处理包括:
若所述控制指令为表征重新加载网络隔离空间的重载指令,获取所述重载指令指向的目标网络隔离空间当前的配置文件,并将所述当前的配置文件和所述目标网络隔离空间原有的配置文件进行比对;
若所述当前的配置文件和所述原有的配置文件中内容发生变化,按照所述当前的配置文件,对所述目标网络隔离空间执行重新加载操作。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
向用户态协议栈进程发送包含所述目标网络隔离空间的唯一标识符的处理指令,以使得所述用户态协议栈进程按照所述处理指令,对发生变化的内容进行处理。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
若在所述用户态协议栈进程内划分的多个网络隔离空间中,不包含与所述目标网络隔离空间的唯一标识符相匹配的网络隔离空间,所述openvpn服务器输出配置出错的提示信息。
10.根据权利要求1所述的方法,其特征在于,所述若干个唯一标识符分别指向的网络隔离空间的配置文件存放于同一个目标目录下;相应地,按照所述控制指令对网络隔离空间以及配置文件进行批量处理包括:对所述目标目录下的各个配置文件进行批量处理。
11.根据权利要求1所述的方法,其特征在于,所述控制指令中至少包括:预设标准字符、用于表征操作类型的命令符以及网络隔离空间的唯一标识符。
12.根据权利要求1所述的方法,其特征在于,各个所述网络隔离空间的配置文件按照以下方式加载:
在openvpn服务器初始化时加载指定目录下的各个所述网络隔离空间的配置文件;
或者
在openvpn服务器运行之后,接收所述外部设备发来的加载指令,并加载所述加载指令指向的网络隔离空间的配置文件。
13.一种openvpn服务器,所述openvpn服务器上设有多个网络隔离空间,其特征在于,所述多个网络隔离空间在同一个用户态协议栈进程内划分,所述openvpn服务器通过所述用户态协议栈进程管理所述多个网络隔离空间的配置文件;以及通过所述用户态协议栈进程批量启动所述多个网络隔离空间的配置文件,并按照控制指令对网络隔离空间进行批量处理,所述openvpn服务器包括:
空间信息配置单元,用于创建各个所述网络隔离空间的配置文件,并为各个所述网络隔离空间分配唯一标识符;
控制指令接收单元,用于接收外部设备发来的控制指令,所述控制指令中携带指向网络隔离空间的若干个唯一标识符;
批量处理单元,用于按照所述控制指令对所述若干个唯一标识符分别指向的网络隔离空间以及所述指向的网络隔离空间的配置文件进行批量处理。
14.根据权利要求13所述的openvpn服务器,其特征在于,所述批量处理单元包括:
新建模块,用于若所述控制指令为表征新建网络隔离空间的新建或添加指令,在所述openvpn服务器中创建新的网络隔离空间,并为所述新的网络隔离空间分配所述控制指令中携带的唯一标识符以及设置所述新的网络隔离空间的配置文件。
15.根据权利要求13所述的openvpn服务器,其特征在于,所述批量处理单元包括:
删除模块,用于若所述控制指令为表征删除网络隔离空间的删除指令,按照所述控制指令在所述openvpn服务器中删除已创建的一个或者多个网络隔离空间以及删除所述一个或者多个网络隔离空间的配置文件。
16.根据权利要求13所述的openvpn服务器,其特征在于,所述批量处理单元包括:
对比模块,用于若所述控制指令为表征重新加载网络隔离空间的重载指令,获取所述重载指令指向的目标网络隔离空间当前的配置文件,并将所述当前的配置文件和所述目标网络隔离空间原有的配置文件进行比对;
重载模块,用于若所述当前的配置文件和所述原有的配置文件中内容发生变化,按照所述当前的配置文件,对所述目标网络隔离空间执行重新加载操作。
17.一种openvpn服务器,其特征在于,所述openvpn服务器包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现如权利要求1至12中任一所述的方法。
CN201910176734.8A 2019-03-08 2019-03-08 一种openvpn中网络隔离空间的批量处理方法及openvpn服务器 Active CN111669283B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910176734.8A CN111669283B (zh) 2019-03-08 2019-03-08 一种openvpn中网络隔离空间的批量处理方法及openvpn服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910176734.8A CN111669283B (zh) 2019-03-08 2019-03-08 一种openvpn中网络隔离空间的批量处理方法及openvpn服务器

Publications (2)

Publication Number Publication Date
CN111669283A CN111669283A (zh) 2020-09-15
CN111669283B true CN111669283B (zh) 2023-03-17

Family

ID=72382152

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910176734.8A Active CN111669283B (zh) 2019-03-08 2019-03-08 一种openvpn中网络隔离空间的批量处理方法及openvpn服务器

Country Status (1)

Country Link
CN (1) CN111669283B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107395532A (zh) * 2017-07-11 2017-11-24 北京航空航天大学 一种基于sdn的多租户虚拟网络隔离方法
CN107678836A (zh) * 2017-10-12 2018-02-09 新华三大数据技术有限公司 集群的测试数据获取方法及装置
CN109062655A (zh) * 2018-06-05 2018-12-21 腾讯科技(深圳)有限公司 一种容器化云平台及服务器
CN109347675A (zh) * 2018-10-31 2019-02-15 新华三大数据技术有限公司 服务器配置方法、装置以及电子设备
CN109347652A (zh) * 2018-08-31 2019-02-15 北京奇艺世纪科技有限公司 服务器集群的服务管理方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150082378A1 (en) * 2013-09-18 2015-03-19 Apcera, Inc. System and method for enabling scalable isolation contexts in a platform
US10404795B2 (en) * 2014-02-19 2019-09-03 Vmware, Inc. Virtual machine high availability using shared storage during network isolation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107395532A (zh) * 2017-07-11 2017-11-24 北京航空航天大学 一种基于sdn的多租户虚拟网络隔离方法
CN107678836A (zh) * 2017-10-12 2018-02-09 新华三大数据技术有限公司 集群的测试数据获取方法及装置
CN109062655A (zh) * 2018-06-05 2018-12-21 腾讯科技(深圳)有限公司 一种容器化云平台及服务器
CN109347652A (zh) * 2018-08-31 2019-02-15 北京奇艺世纪科技有限公司 服务器集群的服务管理方法和装置
CN109347675A (zh) * 2018-10-31 2019-02-15 新华三大数据技术有限公司 服务器配置方法、装置以及电子设备

Also Published As

Publication number Publication date
CN111669283A (zh) 2020-09-15

Similar Documents

Publication Publication Date Title
US20170373931A1 (en) Method for updating network service descriptor nsd and apparatus
CN109040207B (zh) 一种访问用户态网络文件系统的方法、装置及设备
US10599494B2 (en) Method and system of performing inter-process communication between OS-level containers in user space
CN111786867A (zh) 一种数据传输方法及服务器
CN111756818B (zh) 一种文件传送方法、装置、设备及存储介质
CN112445700A (zh) 测试方法和装置
CN111786868B (zh) 服务器之间的数据传输方法及strongswan服务器
CN115639954A (zh) 一种数据传输方法、装置、设备及介质
US11126457B2 (en) Method for batch processing nginx network isolation spaces and nginx server
CN103746768A (zh) 一种数据包的识别方法及设备
WO2020113817A1 (zh) 一种基于用户态协议栈的网络隔离方法和装置
CN111669310B (zh) 一种pptp vpn中网络隔离空间的批量处理方法及pptp vpn服务器
CN111669283B (zh) 一种openvpn中网络隔离空间的批量处理方法及openvpn服务器
US11431795B2 (en) Method, apparatus and storage medium for resource configuration
CN111669355B (zh) 一种批量处理nginx网络隔离空间的方法及nginx服务器
CN111669356B (zh) IPsec VPN服务器中批量处理网络隔离空间的方法及IPsec VPN服务器
CN109144520B (zh) Android中不同对象间的信息交互方法、装置、设备和存储介质
CN111669423B (zh) 基于用户态协议栈的网络隔离空间的批量处理方法及系统
CN112511440B (zh) 报文转发方法、系统、存储介质和电子设备
CN111669358B (zh) 一种批量处理vrouter网络隔离空间的方法和装置
CN111669357B (zh) 一种批量处理haproxy网络隔离空间的方法及haproxy代理服务器
CN112650710A (zh) 数据迁移的发送方法及装置、存储介质、电子装置
CN111240867A (zh) 一种信息通讯系统及方法
CN113890789B (zh) 适用于数据中心的udp隧道流量的分流方法、流量转发方法
CN111666110B (zh) 基于用户态协议栈批量处理网络隔离空间的方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant