CN107005603A - 用于ip地址分配的方法、装置、系统和计算机程序产品 - Google Patents

用于ip地址分配的方法、装置、系统和计算机程序产品 Download PDF

Info

Publication number
CN107005603A
CN107005603A CN201680002833.9A CN201680002833A CN107005603A CN 107005603 A CN107005603 A CN 107005603A CN 201680002833 A CN201680002833 A CN 201680002833A CN 107005603 A CN107005603 A CN 107005603A
Authority
CN
China
Prior art keywords
address
area code
access node
vpn
radius
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.)
Pending
Application number
CN201680002833.9A
Other languages
English (en)
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.)
Cloudminds Inc
Original Assignee
Cloudminds Inc
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 Cloudminds Inc filed Critical Cloudminds Inc
Publication of CN107005603A publication Critical patent/CN107005603A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了用于IP地址分配的方法、装置、系统和计算机程序产品,一种用于IP地址分配的方法包括:在接收到客户端发送的连接请求时,将接入节点的区域代码发送给认证服务器,所述区域代码用于表示所述接入节点所在的区域;接收所述认证服务器从所述区域代码对应的IP地址池中选择的IP地址,并转发给所述客户端。本发明通过改造认证服务器,在进行接入节点扩展时,无需改动认证服务器的配置,就能够实现IP地址分配与接入节点的IP地址间的解耦。

Description

用于IP地址分配的方法、装置、系统和计算机程序产品
技术领域
本发明涉及虚拟专用网络领域,特别涉及用于IP地址分配的方法、装置、系统和计算机程序产品。
背景技术
在验证、授权和记账(AAA:Authentication、Authorization、Accounting)认证中,远程用户拨号认证系统(RADIUS:Remote Authentication Dial In User Service)是被广泛使用的一种协议。RADIUS服务器除AAA认证功能外,还具有为RADIUS客户端分配IP地址的功能,即能够基于一个IP地址池或者多个IP地址池实现基于网络接入服务(NAS:NetworkAccess Service)协议的IP地址分配。现有技术中,当有多个IP地址池时,RADIUS服务器能够采用如下方法实现IP地址的分配,具体为:
1)利用RADIUS协议中的分帧池属性(framed-pool);
2)利用特定供应商属性(VSA:Vendor-Specific Attributes);
3)利用RADIUS服务器端IP地址池合用。
在第一种方法中,需要在NAS上定义IP地址池标识Pool Name,同时,NAS需要符合RADIUS扩展协议RFC 2869,RADIUS服务器才能在“访问-接收”信息包(类型为88属性)中发送分帧池属性,而系统管理员需要手动为用户配置NAS并更新授权属性。
在第二种方法中,独立软件供应商(ISV:Independent Software Vendors)不能使用分帧池属性,但可以定义IP地址池,即利用VSA模型,由RADIUS服务器使用所定义的IP地址池。此外,该方法与各ISV的实现有关,比如思科,是利用Cisco AV-Pair属性发送IP地址池信息。
在第三种方法中,RADIUS服务器根据RADIUS客户端的NAS-IP-Address、NAS-Port属性匹配所配置的IP地址池。一旦RADIUS服务器启动后,将无法更改RADIUS服务器的IP地址池配置信息,除非停止RADIUS认证服务。
在实现本发明的过程中,本发明的发明人发现:第一种方法需要在每台NAS上配置IP地址池,集中管理能力较差;第二种方法与各ISV设备有关,导致私有属性由各ISV掌握,兼容性较差;第三种方法需要重新启动RADIUS认证服务,才能使IP地址池的修改生效,操作灵活性较差。
发明内容
本发明实施例提出了用于IP地址分配的方法、装置、系统和计算机程序产品,以解决在不停止认证服务的情况下,基于开放源码的虚拟专用网络(Open VPN:Open VirtualPrivate Network)认证服务的IP地址分配与接入节点的IP地址间的耦合性较强,以及基于接入节点扩展的弹性部署能力较差的技术问题。
在一个方面,本发明实施例提供了一种用于IP地址分配的方法,用于接入节点中,包括:
在接收到客户端发送的连接请求时,将接入节点的区域代码发送给认证服务器,所述区域代码用于表示所述接入节点所在的区域;
接收所述认证服务器从所述区域代码对应的IP地址池中选择的IP地址,并转发给所述客户端。
在另一个方面,本发明实施例提供了一种用于IP地址分配的方法,包括:
根据来自接入节点的认证请求消息中的区域代码,从所述区域代码对应的IP地址池中选择IP地址并发送给所述接入节点,所述区域代码用于表示所述接入节点所在的区域。
在另一个方面,本发明实施例提供了一种用于IP地址分配的装置,包括:
发送模块,用于在接收到客户端发送的连接请求时,将接入节点的区域代码发送给认证服务器,所述区域代码用于表示所述接入节点所在的区域;
接收模块,用于接收所述认证服务器从所述区域代码对应的IP地址池中选择的IP地址,并转发给所述客户端。
在另一个方面,本发明实施例提供了一种用于IP地址分配的装置,包括:
分配模块,用于根据来自接入节点的认证请求消息中的区域代码,从所述区域代码对应的IP地址池中选择IP地址并发送给所述接入节点,所述区域代码用于表示所述接入节点所在的区域。
另一个方面,本发明实施例提供了一种用于IP地址分配的系统,包括:
接入装置,用于在接收到客户端发送的连接请求时,将接入装置的区域代码发送给认证装置,接收所述认证装置根据所述区域代码发送的IP地址,并转发给所述客户端;
认证装置,用于从所述区域代码对应的IP地址池中选择IP地址并发送给所述接入装置。
在另一个方面,本发明实施例提供了一种与用于IP地址分配的装置结合使用的计算机程序产品,所述计算机程序产品包括计算机可读的存储介质和内嵌于其中的计算机程序机制,所述计算机程序机制包括用于执行上述任一方法中各个步骤的指令。
有益效果如下:
本发明接入节点侧接收认证服务器根据区域代码发送的用户IP地址,使得在进行接入节点扩展时,无需改动认证服务器的配置,就能够实现IP地址分配与接入节点的IP地址间的解耦,以及接入节点的弹性部署。
附图说明
下面将参照附图描述本发明的具体实施例,其中:
图1为本发明实施例一中VPN节点侧用于IP地址分配的方法原理图;
图2为本发明实施例二中用于IP地址分配的应用场景示意图;
图3为本发明实施例二中用于IP地址分配的方法流程图;
图4为本发明实施例三中用于IP地址分配的应用场景示意图;
图5为本发明实施例三中用于IP地址分配的方法流程图;
图6为本发明实施例三中用于IP地址分配的工作流程图;
图7为本发明实施例四中VPN节点侧用于IP地址分配的装置结构图;
图8为本发明实施例五中用于IP地址分配的系统结构图。
具体实施方式
为了使本发明的技术方案及优点更加清楚明白,以下结合附图对本发明的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本发明的一部分实施例,而不是所有实施例的穷举。并且在不冲突的情况下,本说明中的实施例及实施例中的特征可以互相结合。
发明人在发明过程中注意到:现有的RADIUS服务器在选择IP地址池后,需要重新启动RADIUS服务器,才能使IP地址池的修改生效。可见,在不停止RADIUS认证服务的情况下,基于Open VPN认证服务的IP地址分配与OpenVPN服务器的IP地址间的耦合性较强,基于Open VPN服务器扩展的弹性部署能力较差。
针对上述不足,本发明提出了VPN节点将包含区域代码的认证请求消息发送给RADIUS服务器;接收来自所述RADIUS服务器在对所述认证请求消息认证成功后,根据所述认证请求消息中的区域代码发送的用户IP地址,并将接收到的用户IP地址发送给VPN客户端,以使VPN节点将来自所述VPN客户端的包含用户IP地址的访问请求消息发送给网关,再由网关根据所述访问请求消息中的用户IP地址,将所述访问请求消息经由隧道路由给目的IP地址。
本发明通过将RADIUS协议中的某一扩展属性值配置为区域代码,以及在RADIUS服务器侧的配置文件中配置区域代码与IP地址池标识的对应关系,使得在进行Open VPN服务器扩展时,RADIUS服务器能够根据区域代码值动态选择IP地址池,从而实现在无需改动RADIUS服务器配置的情况下,弹性部署Open VPN服务器,即当需要增加Open VPN服务器时,实现Open VPN服务器的快速扩展,以及当现有Open VPN服务器不可用时,实现Open VPN服务器的快速替换。下面进行具体说明。
实施例一、
图1示出了本发明实施例一中VPN节点侧用于IP地址分配的方法原理图,如图1所示,用于接入节点中,该方法包括:
步骤101、在接收到客户端发送的连接请求时,将接入节点的区域代码发送给认证服务器,所述区域代码用于表示所述接入节点所在的区域。
步骤102、接收所述认证服务器从所述区域代码对应的IP地址池中选择的IP地址,并转发给所述客户端。
在步骤101中,VPN节点接收到来自用户的连接请求(如,登录请求)后,将区域代码信息携带在认证请求消息中,一并发送给RADIUS服务器。其中,用于认证服务网络中的接入节点为VPN节点,认证服务器为RADIUS服务器,客户端为VPN客户端,而来自用户的登录请求也可以是来自用户的接入请求,即用于RADIUS服务器认证该用户是否具有接入权限。
在步骤102中,VPN节点将自身的区域代码携带在认证请求消息中发送至RADIUS服务器。RADIUS服务器对认证请求消息进行认证,并在认证成功后,发送与区域代码对应的IP地址池中的可用用户IP地址给VPN节点,VPN节点再将该用户IP地址发送给VPN客户端,以便VPN客户端在后续的访问请求消息中携带该用户IP地址。
当VPN节点接收到来自VPN客户端的包含用户IP地址的访问请求消息后,直接将访问请求消息转发给网关,由网关对该访问请求消息进行解析,得到访问请求消息中的用户IP地址。网关根据得到的用户IP地址,利用网关侧预存的用户IP地址与目的IP地址的对应关系,将访问请求消息经由隧道路由给与该用户IP地址对应的目的IP地址,从而实现消息的互通。其中,网关可以是路由器,即在路由器上设置路由规则,如预存的用户IP地址与目的IP地址的对应关系。
本实施例通过对RADIUS服务器进行改造,即在RADIUS的数据库中增加自定义扩展属性字段,以及在配置文件中配置自定义扩展属性与IP地址池的对应关系。配置完成后,在对Open VPN客户端认证成功后,RADIUS服务器根据Open VPN服务的区域代码动态选择IP地址池,并将与区域代码对应的源IP地址经由VPN节点返回给VPN客户端。从而在进行VPN节点的扩展以及替换时,实现IP地址分配与Open VPN服务器的IP地址间的解耦。
优选的,还包括:
当所属的接入节点的负载率超过设定值时,创建新的接入节点。
对VPN节点的CPU占用率进行检测,CPU占用率的设定值可以根据实际情况进行设定,当VPN节点的CPU占用率超过设定值时,利用镜像创建新的VPN节点。其中,节点实例(instance)预先制作一个镜像,即通过镜像的方式启动新的VPN节点。
优选的,还包括:
在检测到所属的接入节点被创建时,从已有的接入节点中获取区域代码,并为所属的接入节点配置获取到的区域代码。
当所属的VPN节点检测到自身已被创建时,获取原有VPN节点中的区域代码和RADIUS服务器标识,根据所述区域代码和RADIUS服务器标识分别设置自身的区域代码和RADIUS服务器标识,新的VPN节点中的区域代码和RADIUS服务器标识与原有VPN节点中的区域代码和RADIUS服务器标识一致。其中,新的VPN节点为原有VPN节点的扩展VPN节点。
新的VPN节点将包含区域代码的认证请求消息发送给RADIUS服务器,接收RADIUS服务器根据认证请求消息中的区域代码发送的用户IP地址,并将接收到的用户IP地址发送给VPN客户端。以使新的VPN节点将来自VPN客户端的包含用户IP地址的访问请求消息发送给网关,再由网关根据访问请求消息中的用户IP地址,将访问请求消息经由隧道路由给目的IP地址。
其中,新的VPN节点的具体实现方法与原有VPN节点的具体实现方法一致,因此,此处不再赘述。
优选的,从已有的VPN节点中获取区域代码,并为所属的VPN节点配置获取到的区域代码,包括:
从已有的VPN节点的RADIUS插件的保留属性中获取区域代码,并将获取到的区域代码配置到所属的VPN节点的RADIUS插件的保留属性中。针对RADIUS扩展协议RFC 2869中的RADIUS保留属性进行说明,具体如下:
可扩展认证协议(EAP:Extensible Authentication Protocol)是对点到点协议(PPP:Point to Point Protocol)的扩展,通过EAP能够在PPP内支持额外的认证方法,RADIUS协议能够利用EAP-Message和Message-Authenticator属性支持EAP,其中,属性由Type-Length-Value三元组组成,能够用于添加新的属性值而又不影响协议的实现。
RADIUS属性携带着认证、授权和计费请求与响应的详细信息,通常建议相同类型的属性保持顺序不变,而对于不同类型的属性其顺序则不必保持。此外,通常将RADIUS报文的长度在属性列表的末尾指明,为引用方便,此处列出属性格式,按照从左至右的顺序传输各域,具体为:
Type域占一个字节,目前最新的RADIUS Type域值在最新的RFC中分配。属性值192-223保留给实验用,属性值224-240保留给特定实现用,属性值241-255保留不用。
RADIUS Plugin为开源软件,可作为Open VPN的RADIUS客户端,RADIUS Plugin主要包括两个功能,分别是:
1)RADIUS认证和Open VPN的记账支持;
2)RADIUS属性分析:
①IP地址类型;
②路由类型;
③实时计费间隔时间;
④来自其他脚本的特定供应商属性。
通常,RADIUS协议会提供一些保留属性给客户进行自定义,因此,利用RADIUS协议中的扩展属性值224-240,将Open VPN服务器的自定义区域代码添加到扩展属性值中,利用Open VPN的RADIUS Plugin作为RADIUS客户端,以及利用Free RADIUS作为RADIUS服务器,对Free RADIUS进行改造,即在Free RADIUS的数据库中增加自定义扩展属性字段,以及在配置文件中配置自定义扩展属性与IP地址池的对应关系。配置完成后,在对Open VPN客户端认证成功后,Free RADIUS能够根据Open VPN服务的区域代码来动态选择IP地址池,并返回一个与服务相关的IP地址给VPN客户端。
此外,RADIUS服务器侧用于IP地址分配的具体实现方法为:根据来自接入节点的认证请求消息中的区域代码,从所述区域代码对应的IP地址池中选择IP地址并发送给所述接入节点,所述区域代码用于表示所述接入节点所在的区域。
RADIUS服务器接收来自Open VPN节点的认证请求消息,对认证请求消息中的用户登录信息(即连接请求)进行认证,确定该用户是否具有登录权限(即连接权限),若该用户不具有登录权限,则认证失败,经由Open VPN节点返回认证失败消息给VPN客户端;若该用户具有登录权限,则认证成功,继续根据认证请求消息中的区域代码,利用预设区域代码与IP地址池标识的对应关系,获取与认证请求消息中的区域代码对应的IP地址池标识,根据获取到的IP地址池标识,从相应的IP地址池中获取可用IP地址,并发送该可用IP地址给Open VPN节点。
优选地,还包括:
对所述认证请求消息进行认证,若认证失败,则发送认证失败消息给所述VPN节点。
本实施例基于Open VPN服务的区域代码进行IP地址池的动态选择,实现Open VPN客户端得到的IP地址与Open VPN服务器(即Open VPN节点)解耦,即通过预先配置多个IP地址池,多个区域代码,以便在进行Open VPN服务器扩展时,无需改动RADIUS服务器的配置,就能实现Open VPN服务器的快速扩展以及替换。此外,根据不同的IP地址池,还能够在每个Open VPN服务器上实现个性化防火墙策略以及针对不同区域用户应用不同的路由策略。
为了便于本发明的实施,下面以实例进行说明。
实施例二、
图2示出了本发明实施例二中用于IP地址分配的应用场景示意图,如图2所示,在北京,上海,广州三地搭建Open VPN节点,组建Open VPN服务网络,并为每个Open VPN节点分别分配一个区域代码。在RADIUS服务器侧设置与为每个Open VPN节点所分配的区域代码对应的IP地址池。在路由器侧设置业务规则,具体为,北京的Open VPN用户能够与广州、上海的Open VPN用户交互,广州的Open VPN用户只能与北京的Open VPN用户交互,上海的Open VPN用户只能与北京的Open VPN用户交互,上海的Open VPN用户与广州的Open VPN用户不能交互。
假定利用RADIUS扩展协议的保留属性Type域存储区域代码,即设置Open VPN的RADIUS插件(RADIUS Plugin)的保留属性(如type域属性值224)为area_code,在北京的Open VPN接入点,RADIUS Plugin的area_code属性值为area_bj;在广州的Open VPN接入点,RADIUS Plugin的area_code属性值为area_gz;在上海的Open VPN接入点,RADIUSPlugin的area_code属性值为area_sh。
在RADIUS服务器中,配置area_code属性值为area_bj的IP地址池为bj_pool,area_code属性值为area_gz的IP地址池为gz_pool,area_code属性值为area_sh的IP地址池为sh_pool。bj_pool的可用IP地址为10.100.0.0/16,gz_pool的可用IP地址为10.101.0.0/16,sh_pool的可用IP地址为10.102.0.0/16。
在Open VPN网络的核心路由器中配置路由规则,并建立和Open VPN服务器的隧道,即将源IP地址为10.100.0.0/16,目的IP地址为10.101.0.0/16,10.102.0.0/16的路径路由到相应的广州、上海的Open VPN服务器。将源IP地址为10.101.0.0/16,目的IP地址为10.100.0.0/16的路径路由到北京的Open VPN服务器,将源IP地址为10.102.0.0/16,目的IP地址为10.100.0.0/16的路径路由到北京的Open VPN服务器。利用所配置的路由规则,实现北京的Open VPN用户能够与上海,广州的Open VPN用户交互,广州的Open VPN用户只能与北京的Open VPN用户交互,上海的Open VPN用户只能与北京的Open VPN用户交互,上海的Open VPN用户与广州的Open VPN用户不能交互。
将不同地区的用户接入到不同的Open VPN服务器,针对访问权限设置的方法具体为:
在RADIUS服务器上配置区域代码和IP地址池的对应关系,以及IP地址池中的可用IP地址。与区域代码area_bj匹配的IP地址池为bj_pool,可用IP地址为10.100.0.0/16;与区域代码area_gz匹配的IP地址池为gz_pool,可用IP地址为10.101.0.0/16;与区域代码area_sh匹配的IP地址池为sh_pool,可用IP地址为10.102.0.0/16。
在北京的Open VPN服务器上配置RADIUS Plugin的保留属性area_code(如type域属性值224)为区域代码area_bj;在广州的Open VPN服务器上配置RADIUS Plugin的保留属性area_code(如type域属性值224)为区域代码area_gz;在上海的Open VPN服务器上配置RADIUS Plugin的保留属性area_code(如type域属性值224)为区域代码area_sh。
基于所设定的区域代码,在Open VPN网络的核心路由器中配置相应的路由规则,并建立和Open VPN Server的隧道。即使用北京Open VPN接入的用户能够与使用广州、上海Open VPN接入的用户交互,而使用广州Open VPN接入与使用上海Open VPN接入的用户不能交互。
当北京(上海/广州)的Open VPN用户出现爆发式增长时,通过快速部署多台OpenVPN服务器,将新部署的Open VPN服务器上的RADIUS Plugin的保留属性area_code的属性值设置为area_bj(area_sh/area_gz),即可在不需要修改RADIUS服务器配置的情况下,实现Open VPN的弹性部署。
图3示出了本发明实施例二中用于IP地址分配的方法流程图,如图3所示,针对Open VPN服务网络中,某一热点的用户接入量陡增,如Open VPN Server bj无法满足用户的接入需求时,通过快速部署北京Open VPN接入服务,满足用户的爆发式接入。快速部署Open VPN接入服务的具体实现方法如下:
步骤301:第一Open VPN服务器扩展第二Open VPN服务器。当第一Open VPN服务器的CPU占有率达到设定值时,第一Open VPN服务器利用镜像在云平台或者互联网数据中心(IDC:Internet Data Center)创建一台新的Open VPN服务器,并设定第二Open VPN服务器名称为Open VPN Server bj02。
步骤302:第一Open VPN服务器利用镜像在第二Open VPN服务器上配置RADIUSPlugin。第一Open VPN服务器利用镜像在Open VPN Server bj02上安装Open VPN服务器的RADIUS Plugin,再由第二Open VPN服务器通过获取第一Open VPN服务器的区域代码和RADIUS服务器标识,设置自身RADIUS Plugin的保留属性(如type域属性值224)为area_code,设置area_code属性值为区域代码area_bj,设置RADIUS认证服务为RADIUS Server。
步骤303:启动第二Open VPN服务器的Open VPN服务。在无需修改RADIUS Server配置的情况下,基于预先设置的业务规则,实现Open VPN接入服务的弹性扩充。
本实施例中,利用Open VPN服务器的RADIUS Plugin作为RADIUS客户端,通过对RADIUS服务器(如Free RADIUS服务器)进行相应的改造,即将Open VPN服务的区域代码附加到RADIUS扩展协议的保留属性(224-240)中,以使RADIUS服务器能够根据区域代码,并利用配置的区域代码与IP地址池标识的对应关系动态选择IP地址池。此外,在Open VPN网络中的路由器中预先设定业务规则,并建立和Open VPN服务器的隧道,用于实现Open VPN用户在使用不同的IP地址池时,所具备的访问权限不同。当Open VPN用户群体出现集中使用时,通过快速部署Open VPN服务器,以及集中的RADIUS认证,实现在不中断RADIUS服务器工作的情况下,弹性提供Open VPN服务。
实施例三、
在Open VPN服务网络中,当某一热点的用户接入量陡增,如北京区域的Open VPNServer BJ和广州区域的Open VPN Server GZ无法满足用户的接入需求时,通过快速部署北京区域和广州区域的Open VPN接入服务,满足用户的爆发式接入。
图4示出了本发明实施例三中用于IP地址分配的应用场景示意图,如图4(a)所示,为北京区域的云平台Cloud BJ(即Open VPN Server bj)和广州区域的云平台Cloud GZ(即Open VPN Server gz)未扩充Open VPN接入服务的Open VPN拓扑示意图,如图4(b)所示,为北京区域的云平台Cloud BJ和广州区域的云平台Cloud GZ扩充Open VPN接入服务后的Open VPN拓扑示意图。图5示出了本发明实施例三中用于IP地址分配的方法流程图,如图5所示,为快速实现云平台的弹性扩充,在对外提供Open VPN接入服务前,需要技术人员对RADIUS Server进行一定的改造,快速部署前期配置具体包括:
步骤501:在RADIUS Server侧设置区域代码和IP地址池的对应关系。区域代码为area_bj的IP地址池为bj_pool,可用IP地址为10.100.0.0/16;区域代码为area_gz的IP地址池为gz_pool,可用IP地址为10.101.0.0/16。
步骤502:在云平台侧部署Open VPN服务器。在云平台Cloud BJ上部署一个OpenVPN Server,公网IP地址为202.106.1.1,配置RADIUS Plugin的保留属性area_code(如type域属性值224)为区域代码area_bj。在云平台Cloud GZ上部署一台Open VPN Server,公网IP地址为202.106.2.1,配置RADIUS Plugin的保留属性area_code(如type域属性值224)为区域代码area_gz。此外,分别为云平台Cloud BJ的Open VPN Server实例(instance)制作一个镜像vpn_image_bj;为云平台Cloud GZ的Open VPN Server实例制作一个镜像vpn_image_gz。
步骤503:在路由器上配置区域代码area_bj和area_gz的路由,并建立和云平台的隧道。即可用IP地址10.100.0.0/16和10.101.0.0/16的互联互通。
步骤504:在DNS Server侧配置域名的A记录。在Open VPN服务网络中的域名系统服务器(DNS Server:Domain Name System Server)上配置设定的域名bj.pop.cloudvpn.com的A记录为202.106.1.1,域名gz.pop.cloudvpn.com的A记录为202.106.2.1。
技术人员通过上述四个步骤的配置后,北京区域的Open VPN Client就可以使用bj.pop.cloudvpn.com这个域名连接Open VPN服务,广州区域的Open VPN Client就可以使用gz.pop.cloudvpn.com这个域名连接Open VPN服务。
当业务快速发展时,单台Open VPN服务器的CPU占用率经常达到70%以上,此处可以设定CPU占用率的设定值为70%。为保证服务体验,针对Open VPN接入进行弹性扩充,具体实现方法如下:
步骤505:云平台侧Open VPN服务器使用镜像的方式开启实例。在云平台Cloud BJ上,Open VPN服务器使用镜像vpn_image_bj开启两个Open VPN实例,实例的IP地址分别为202.106.1.2,202.106.1.3。在云平台Cloud GZ上,使用镜像vpn_image_gz开启两个OpenVPN实例,实例的IP地址分别为202.106.2.2,202.106.2.3。
步骤506:DNS服务器增加解析记录。即DNS服务器增加域名bj.pop.cloudvpn.com的A记录202.106.1.2和202.106.1.3,以及域名gz.pop.cloudvpn.com的A记录202.106.2.2和202.106.2.3。
通过上述两个步骤的配置,能够有效提升北京区域的Open VPN接入服务能力和广州区域的Open VPN接入服务能力,在无需修改RADIUS服务器配置,以及遵循预先设定的业务规则的情况下,实现Open VPN接入服务弹性扩充的便利性。
图6示出了本发明实施例三中IP地址分配的工作流程图,如图6所示,当完成上述所有配置后,针对Open VPN接入服务,弹性扩充的具体工作流程如下:
步骤601:Client BJ获取公网IP地址,并根据公网IP地址发送认证请求消息给Cloud BJ。Client BJ发送接入请求消息给DNS服务器,DNS服务器根据接收到的接入请求消息中的域名解析出公网IP地址202.106.1.1,并将公网IP地址202.106.1.2发送给ClientBJ。Client BJ根据接收到的公网IP地址202.106.1.2,将认证请求消息发送给公网IP地址202.106.1.2,即Cloud BJ的Open VPN实例。
步骤602:Cloud BJ接收来自RADIUS服务器在对认证请求消息认证成功后,根据区域代码发送的源IP地址,并将接收到的源IP地址发送给Client BJ。Cloud BJ的Open VPN实例将区域代码携带在认证请求消息中,并发送给RADIUS服务器。RADIUS服务器对接收到的认证请求消息进行认证,并在认证成功后,根据认证请求消息中携带的区域代码确定与该区域代码相对应的IP地址池。根据所确定的IP地址池获取可用IP地址,即源IP地址,将获取到的源IP地址发送给Cloud BJ的Open VPN实例。Cloud BJ的Open VPN实例将包含源IP地址的认证成功的消息发送给Client BJ。
步骤603:Client BJ将包含源IP地址的访问请求消息经由Cloud BJ发送给路由器,以便路由器根据源IP地址,将访问请求消息经由隧道路由给目的IP地址。Client BJ将包含源IP地址的访问请求消息经由Cloud BJ的Open VPN实例经由隧道发送给路由器。路由器根据访问请求消息中的源IP地址,利用预设的业务规则,将访问请求消息经由隧道路由给与源IP地址相对应的目的IP地址,实现用户间的信息交互。
具体实施时,本领域技术人员可以根据实际需要适应不同的应用场景,如ClientBJ既能够访问互联网资源,也能够与Client gz进行点到点的访问,或其他应用场景,本申请对此不作限制。
此外,当现有Cloud BJ中的某一Open VPN服务器出现故障,不可用时,也可以部署新的Open VPN服务器,将不可用Open VPN服务器的相关信息全部配置给新的Open VPN服务器,启动新的Open VPN服务器,就可以实现不可用Open VPN服务器的替换,修复Open VPN的接入服务,而无需修改RADIUS服务器的配置,从而实现Open VPN服务器的快速替换。
实施例四、
基于同一发明构思,本发明实施例中还提供了一种用于IP地址分配的装置,由于这些设备解决问题的原理与一种IP地址分配的方法相似,因此这些设备的实施可以参见方法的实施,重复之处不再赘述。
图7示出了本发明实施例四中VPN节点侧用于IP地址分配的装置结构图,如图7所示,装置可以包括:
发送模块701,用于在接收到客户端发送的连接请求时,将接入节点的区域代码发送给RADIUS服务器。
接收模块702,用于接收所述认证服务器从所述区域代码对应的IP地址池中选择的IP地址,并转发给所述客户端。
创建模块703,用于当所属的接入节点的负载率超过设定值时,创建新的接入节点。
配置模块704,用于在检测到所属的接入节点被创建时,从已有的接入节点中获取区域代码,并为所属的接入节点配置获取到的区域代码。
优选地,用于认证服务网络中的接入节点为VPN节点,认证服务器为RADIUS服务器,客户端为VPN客户端。
优选地,所述发送模块包括:
将VPN节点的区域代码携带在认证请求消息中发送至RADIUS服务器。
优选地,所述配置模块还包括:
从已有的VPN节点的RADIUS插件的保留属性中获取区域代码,并将获取到的区域代码配置到所属的VPN节点的RADIUS插件的保留属性中。
基于同一发明构思,本发明实施例中还提供了一种用于IP地址分配的装置,由于这些设备解决问题的原理与一种IP地址分配的方法相似,因此这些设备的实施可以参见方法的实施,重复之处不再赘述。
本发明实施例四中RADIUS服务器侧用于IP地址分配的装置可以包括:
分配模块,用于根据来自接入节点的认证请求消息中的区域代码,从所述区域代码对应的IP地址池中选择IP地址并发送给所述接入节点,所述区域代码用于表示所述接入节点所在的区域。
实施例五、
基于同一发明构思,本发明实施例中还提供了一种用于IP地址分配的系统,由于该系统解决问题的原理与一种用于IP地址分配的方法相似,因此该系统的实施可以参见方法的实施,重复之处不再赘述。
图8示出了本发明实施例五中用于IP地址分配的系统结构图,如图8所示,系统可以包括:
接入装置801,用于在接收到客户端发送的连接请求时,将接入装置的区域代码发送给认证装置802,接收所述认证装置802根据所述区域代码发送的IP地址,并转发给所述客户端。
认证装置802,用于从所述区域代码对应的IP地址池中选择IP地址并发送给所述接入装置801。
实施例六、
基于同一发明构思,本发明实施例还提供了一种与用于IP地址分配的系统结合使用的用于IP地址分配的计算机程序产品,由于其原理与一种用于IP地址分配的方法相似,因此其实施可以参见方法的实施,重复之处不再赘述。所述计算机程序产品包括计算机可读的存储介质和内嵌于其中的计算机程序机制,所述计算机程序机制包括用于执行任一前述方法中各个步骤的指令。
为了描述的方便,以上所述装置的各部分以功能分为各种模块或单元分别描述。当然,在实施本发明时可以把各模块或单元的功能在同一个或多个软件或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

Claims (16)

1.一种用于IP地址分配的方法,其特征在于,用于接入节点中,该方法包括:
在接收到客户端发送的连接请求时,将接入节点的区域代码发送给认证服务器,所述区域代码用于表示所述接入节点所在的区域;
接收所述认证服务器从所述区域代码对应的IP地址池中选择的IP地址,并转发给所述客户端。
2.如权利要求1所述的方法,其特征在于,用于认证服务网络中的接入节点为VPN节点,认证服务器为RADIUS服务器,客户端为VPN客户端。
3.如权利要求2所述的方法,其特征在于,所述将VPN节点的区域代码发送给RADIUS服务器,包括:
将VPN节点的区域代码携带在认证请求消息中发送至RADIUS服务器。
4.如权利要求1所述的方法,其特征在于,还包括:
当所属的接入节点的负载率超过设定值时,创建新的接入节点。
5.如权利要求1或2所述的方法,其特征在于,还包括:
在检测到所属的接入节点被创建时,从已有的接入节点中获取区域代码,并为所属的接入节点配置获取到的区域代码。
6.如权利要求5所述的方法,其特征在于,从已有的VPN节点中获取区域代码,并为所属的VPN节点配置获取到的区域代码,包括:
从已有的VPN节点的RADIUS插件的保留属性中获取区域代码,并将获取到的区域代码配置到所属的VPN节点的RADIUS插件的保留属性中。
7.一种用于IP地址分配的方法,其特征在于,用于认证服务器中,该方法包括:
根据来自接入节点的认证请求消息中的区域代码,从所述区域代码对应的IP地址池中选择IP地址并发送给所述接入节点,所述区域代码用于表示所述接入节点所在的区域。
8.一种用于IP地址分配的装置,其特征在于,用于接入节点中,该装置包括:
发送模块,用于在接收到客户端发送的连接请求时,将接入节点的区域代码发送给认证服务器,所述区域代码用于表示所述接入节点所在的区域;
接收模块,用于接收所述认证服务器从所述区域代码对应的IP地址池中选择的IP地址,并转发给所述客户端。
9.如权利要求8所述的装置,其特征在于,用于认证服务网络中的接入节点为VPN节点,认证服务器为RADIUS服务器,客户端为VPN客户端。
10.如权利要求9所述的装置,其特征在于,所述发送模块包括:
将VPN节点的区域代码携带在认证请求消息中发送至RADIUS服务器。
11.如权利要求8所述的装置,其特征在于,还包括:
创建模块,用于当所属的接入节点的负载率超过设定值时,创建新的接入节点。
12.如权利要求8或9所述的装置,其特征在于,还包括:
配置模块,用于在检测到所属的接入节点被创建时,从已有的接入节点中获取区域代码,并为所属的接入节点配置获取到的区域代码。
13.如权利要求12所述的装置,其特征在于,所述配置模块包括:
从已有的VPN节点的RADIUS插件的保留属性中获取区域代码,并将获取到的区域代码配置到所属的VPN节点的RADIUS插件的保留属性中。
14.一种用于IP地址分配的装置,其特征在于,用于认证服务器中,该装置包括:
分配模块,用于根据来自接入节点的认证请求消息中的区域代码,从所述区域代码对应的IP地址池中选择IP地址并发送给所述接入节点,所述区域代码用于表示所述接入节点所在的区域。
15.一种用于IP地址分配的系统,其特征在于,包括:
接入装置,用于在接入节点处,接收到客户端发送的连接请求时,将接入装置的区域代码发送给认证装置,接收所述认证装置根据所述区域代码发送的IP地址,并转发给所述客户端;
认证装置,用于在认证服务器处,从所述区域代码对应的IP地址池中选择IP地址并发送给所述接入装置。
16.一种与用于IP地址分配的装置结合使用的计算机程序产品,所述计算机程序产品包括计算机可读的存储介质和内嵌于其中的计算机程序机制,所述计算机程序机制包括用于执行权利要求1-6中任一所述方法中各个步骤的指令。
CN201680002833.9A 2016-08-30 2016-08-30 用于ip地址分配的方法、装置、系统和计算机程序产品 Pending CN107005603A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/097285 WO2018039901A1 (zh) 2016-08-30 2016-08-30 用于ip地址分配的方法、装置、系统和计算机程序产品

Publications (1)

Publication Number Publication Date
CN107005603A true CN107005603A (zh) 2017-08-01

Family

ID=59431088

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680002833.9A Pending CN107005603A (zh) 2016-08-30 2016-08-30 用于ip地址分配的方法、装置、系统和计算机程序产品

Country Status (2)

Country Link
CN (1) CN107005603A (zh)
WO (1) WO2018039901A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109194774A (zh) * 2018-08-09 2019-01-11 中兴克拉科技(苏州)有限公司 一种lpwan网络服务器的设备地址扩展方法
CN110401666A (zh) * 2019-07-30 2019-11-01 四川虹魔方网络科技有限公司 一种基于用户身份的网络权限分配方法
CN110677426A (zh) * 2019-09-30 2020-01-10 北京天融信网络安全技术有限公司 一种数据传输方法、装置、存储介质及vpn设备
CN111683164A (zh) * 2020-07-08 2020-09-18 厦门网宿有限公司 一种ip地址的配置方法及vpn服务系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060034297A1 (en) * 2004-08-13 2006-02-16 O'neill Alan Methods and apparatus for efficient VPN server interface, address allocation, and signaling with a local addressing domain
CN101114972A (zh) * 2006-07-26 2008-01-30 成都迈普产业集团有限公司 Ip电信网系统中建立和拆除虚拟专网的方法
CN102480403A (zh) * 2010-11-30 2012-05-30 华为技术有限公司 提供虚拟私有网业务的方法、设备和系统
CN103828333A (zh) * 2011-09-26 2014-05-28 三菱电机株式会社 Ip地址分配系统及ip地址分配方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2001280393A1 (en) * 2000-08-14 2002-02-25 Telefonaktiebolaget Lm Ericsson (Publ) Method of providing router with subnetwork address pool in cellular telecommunications network
JP2007515111A (ja) * 2003-11-18 2007-06-07 エア ブロードバンド コミュニケーションズ,インコーポレイテッド モバイル環境におけるdhcpプール共有メカニズム
CN102025798B (zh) * 2010-12-15 2013-12-04 华为技术有限公司 地址分配处理方法、装置和系统
WO2013020267A1 (zh) * 2011-08-08 2013-02-14 华为数字技术有限公司 Ip地址分配方法和系统以及设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060034297A1 (en) * 2004-08-13 2006-02-16 O'neill Alan Methods and apparatus for efficient VPN server interface, address allocation, and signaling with a local addressing domain
CN101114972A (zh) * 2006-07-26 2008-01-30 成都迈普产业集团有限公司 Ip电信网系统中建立和拆除虚拟专网的方法
CN102480403A (zh) * 2010-11-30 2012-05-30 华为技术有限公司 提供虚拟私有网业务的方法、设备和系统
CN103828333A (zh) * 2011-09-26 2014-05-28 三菱电机株式会社 Ip地址分配系统及ip地址分配方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109194774A (zh) * 2018-08-09 2019-01-11 中兴克拉科技(苏州)有限公司 一种lpwan网络服务器的设备地址扩展方法
CN109194774B (zh) * 2018-08-09 2021-10-22 中兴克拉科技(苏州)有限公司 一种lpwan网络服务器的设备地址扩展方法
CN110401666A (zh) * 2019-07-30 2019-11-01 四川虹魔方网络科技有限公司 一种基于用户身份的网络权限分配方法
CN110677426A (zh) * 2019-09-30 2020-01-10 北京天融信网络安全技术有限公司 一种数据传输方法、装置、存储介质及vpn设备
CN110677426B (zh) * 2019-09-30 2021-11-16 北京天融信网络安全技术有限公司 一种数据传输方法、装置、存储介质及vpn设备
CN111683164A (zh) * 2020-07-08 2020-09-18 厦门网宿有限公司 一种ip地址的配置方法及vpn服务系统

Also Published As

Publication number Publication date
WO2018039901A1 (zh) 2018-03-08

Similar Documents

Publication Publication Date Title
CN107580065B (zh) 一种私有云接入方法及设备
CN103580980B (zh) 虚拟网络自动发现和自动配置的方法及其装置
CN105637805B (zh) 增强移动备用信道以解决有线线路网络中的节点故障
CN103155518B (zh) 多径传送控制协议代理
TWI520639B (zh) 動態地產生服務群組之方法、裝置與系統
CN101304388B (zh) 解决ip地址冲突的方法、装置及系统
CN105228121B (zh) 使用rest式接口的订户管理
CN107005603A (zh) 用于ip地址分配的方法、装置、系统和计算机程序产品
CN113381879B (zh) 一种基于sdn的网络部署方法及设备
US20120166647A1 (en) Apparatus for configuring virtual network using network virtualization technique and method thereof
CN102984045B (zh) 虚拟专用网的接入方法及虚拟专用网客户端
CN101217482A (zh) 一种穿越nat下发策略的方法和一种通信装置
CN114157579A (zh) 接入网关的方法及装置
CN1450766A (zh) 一种基于动态主机配置协议的用户管理方法
CN103166909B (zh) 一种虚拟网络系统的接入方法、装置和系统
CN112019434B (zh) 一种组网设备web集中管理方法与装置
US8958435B2 (en) Information management method and information processing device
CN107770012A (zh) 一种宽带接入方法、装置及虚拟宽带远程接入服务器系统
US20070147357A1 (en) Method and apparatus for generating IP traffic in an internet protocol (IP) based network
CN103262502B (zh) 多核平台的dns代理服务
US20060193330A1 (en) Communication apparatus, router apparatus, communication method and computer program product
WO2015090035A1 (zh) 网络资源的共享处理、共享方法及装置、系统
JP2009089062A (ja) 仮想ネットワークシステム及び仮想ネットワーク接続装置
CN102624707B (zh) 一种协商IPv6信息的方法及系统
JP2012044601A (ja) 設定システム、設定方法、及び設定プログラム

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170801