IPSec VPN系统控制方法
【技术领域】
[0001] 本发明涉及VPN技术领域,尤其涉及一种IPSecVPN系统控制方法。
【背景技术】
[0002] 越来越多的企业在公共网络中组建自己的VPN系统,在地理位置不同的多个分支 机构之间建立VPN连接。然而,许多企业分支机构使用动态IP地址接入公共网络,各个分 支机构之间在不知道其他分支机构的动态IP地址的情况下,无法实现互相访问。
[0003] 针对上述问题,一种基于web注册的管理系统产生,该系统通过建立一个公共的 web管理中心,所有的分支首先向这个web管理中心注册自己的公网IP地址,当某一分支访 问另一分支时,先从该web管理中心获取被访问分支的公网IP地址,从而实现各分支节点 的互访。
[0004] 这种基于web管理中心的方法比较复杂,并且信息在公共网络传输过程中未加 密,缺少安全保护。
【发明内容】
[0005] 有鉴于此,本发明提供一种IPSecVPN系统控制方法,该方法应用于VPN系统,该 系统包括中心节点、第一分支节点以及第二分支节点,该方法包括以下步骤:
[0006] 步骤A,在各分支节点分别与中心节点建立隧道连接过程中,发送各分支节点的 TunnelIP地址给中心节点;
[0007] 步骤B,中心节点接收到各分支节点的TunnelIP地址后,在地址映射表中建立各 分支节点的公网IP地址与TunnelIP地址对应关系;
[0008] 步骤C,在各分支节点上分别配置当前分支节点与其他分支节点间的隧道路由 表;
[0009] 步骤D,当第一分支节点的内网资源访问第二分支节点的内网资源时,第一分支 节点查询其内部配置的隧道路由表,从已配置的第一分支节点与第二分支节点间的隧道转 发,若所述分支节点间的隧道没有建立,则通过已建立的第一分支节点与中心节点的隧道, 发送携带第二分支节点TunnelIP地址的消息给中心节点,向中心节点请求第二分支节点 的公网IP地址;
[0010] 步骤E,中心节点接收到该请求后,获取第二分支节点TunnelIP地址,查询所述 地址映射表中该TunnelIP地址对应的公网IP地址,并将该第二分支节点的公网IP地址 发送给第一分支节点;
[0011] 步骤F,第一分支节点接收到第二分支节点的公网IP地址后,与该第二分支节点 建立IPSec隧道,进而访问第二分支节点的内网资源。
[0012] 本发明解决了分支节点间在不知道对端公网IP的情况下,建立安全可靠的互访 通道。
【附图说明】
[0013] 图1是本发明一种实施方式中IPSecVPN系统结构示意图。
[0014] 图2是本发明一种实施方式中IPSecVPN系统控制方法流程图。
【具体实施方式】
[0015] 以下结合附图对本发明进行详细描述。
[0016] 在一种较佳的实施方式中,本发明通过建立IPSecVPN系统,实现各分支间的安全 互访。如图1所示,该IPSecVPN系统包括中心节点、第一分支节点以及第二分支节点。请 参考图2,该系统的控制方法包括以下步骤:
[0017] 步骤101,在各分支节点分别与中心节点建立隧道连接过程中,发送各分支节点的 TunnelIP地址给中心节点;
[0018] 步骤102,中心节点接收到各分支节点的TunnelIP地址后,在地址映射表中建立 各分支节点的公网IP地址与TunnelIP地址对应关系;
[0019] 步骤103,在各分支节点上分别配置当前分支节点与其他分支节点间的隧道路由 表;
[0020] 步骤104,当第一分支节点的内网资源访问第二分支节点的内网资源时,第一分支 节点查询其内部配置的隧道路由表,从已配置的第一分支节点与第二分支节点间的隧道转 发,若所述分支节点间的隧道没有建立,则通过已建立的第一分支节点与中心节点的隧道, 发送携带第二分支节点TunnelIP地址的消息给中心节点,向中心节点请求第二分支节点 的公网IP地址;
[0021] 步骤105,中心节点接收到该请求后,获取第二分支节点TunnelIP地址,查询所 述地址映射表中该TunnelIP地址对应的公网IP地址,并将该第二分支节点的公网IP地 址发送给第一分支节点;
[0022] 步骤106,第一分支节点接收到第二分支节点的公网IP地址后,与该第二分支节 点建立IPSec隧道,进而访问第二分支节点的内网资源。
[0023] 在VPN系统中,任意两个分支节点间要实现互访,至少有一端必须知道对端的公 网IP地址,然而,在实际的网络环境中,分支节点的公网IP地址是动态分配的,具有不确定 性。为了保证各分支节点能够获取到其他分支节点的公网IP地址,本发明通过为所有分支 节点增加同一中心节点的方法,使得各个分支节点可以通过该中心节点获取其他分支节点 的公网IP地址,其中,该中心节点配置静态公网IP地址,以便各分支节点访问中心节点,获 取需要的信息。同时,为了保证VPN系统数据传输的安全性,本发明通过在各节点间建立 IPSec隧道进行数据传输。
[0024] 在一种优选的实施方式中,请参考图1,IPSec VPN系统包括中心节点、第一分支节 点以及第二分支节点。第一分支节点发送自己的Tunnel IP地址给中心节点,中心节点接 收到携带第一分支节点Tunnel IP地址的报文后,从该报文中获取第一分支节点的Tunnel IP地址和公网IP地址,并将该Tunnel IP地址与公网IP地址的对应关系存入地址映射表 中。同理,第二分支节点通过上述过程,在中心节点的地址映射表中保存第二分支节点的地 址对应关系,如下表所示。
[0025]
[0026]表1
[0027]表1为中心节点保存的地址映射表,表中的IP地址为示例性IP地址,实际使用 中,可以是任意符合IP地址规范的IP地址。在上述分支节点与中心节点的信息交互过程, 完成第一分支节点与中心节点的IPSec隧道建立以及第二分支节点与中心节点的IPSec隧 道建立。
[0028] 配置每一个分支节点与其他分支节点的隧道路由表。图1为示例性VPN系统简图, 只包含了两个分支节点,在实际应用中,该VPN系统可根据实际需求建立N个分支节点。以 第一分支节点为例,其内部配置的隧道路由表如下表所示。
[0029]
[0030] 表 2
[0031] 表2为第一分支节点中的隧道路由表,保存所有分支节点的私网网段信息和隧道 下一跳信息,该路由表可通过静态配置,也可通过路由
协议动态学习。
[0032] 当第一分支节点的内网资源访问第二分支节点的内网资源时,第一分支节点首先 查询内部的隧道路由表,根据第二分支节点内网资源的IP地址,查询对应的隧道下一跳地 址。例如,第二支节点内网资源的IP地址为192. 168. 20. 10,则通过表2可知,其对应的隧 道下一跳地址为2. 2. 2. 2。若该隧道没有建立,则通过已建立的第一分支节点与中心节点的 隧道,发送携带第二分支节点TunnelIP地址(2. 2. 2. 2)的消息给中心节点,向中心节点请 求第二分支节点的公网IP地址。
[0033] 中心节点接收到上述消息后,在已建立的地址映射表中查询该第二分支节 点TunnelIP地址(2. 2. 2. 2)对应的公网IP地址,将第二分支节点的公网IP地址 (202. 103. 21. 36)发送给第一分支节点。第一分支节点接收到该第二分支节点的公网IP地 址后,在第一分支节点(202. 103. 1. 32)与第二分支节点(202. 103. 21. 36)间建立IPSec隧 道,实现分支节点间内网资源的互访。
[0034] 在一种优选的实施方式中,通过在IKE协商中增加扩展载荷,在建立分支节点与 中心节点的IPSec隧道过程中传递信息,这种方式效率较高,无需额外开发私有的交互协 议,具体实现过程如下:首先,分别配置分支节点与中心节点为支持P2MP(PointtoMulti Point,点对多点)模式,即节点支持扩展的IKE协商功能。在分支节点与中心节点IKE协 商的第一阶段,分支节点通过第一次信息交互过程,在IKE协商的第一条消息中增加模式 载荷,告知中心节点其支持P2MP模式,中心节点接收到该消息后,若该中心节点同样支持 P2MP模式,则在应答消息中增加模式载荷,告知分支节点其支持P2MP模式,至此完成分支 节点与中心节点的模式确认。
[0035]在完成了IKE协商的第一阶段后,分支节点通过在IKE协商第二阶段的信息交互 中增加扩展载荷,将分支节点的TunnelIP地址发送给中心节点,完成分支节点与中心节点 的IPSec隧道建立,同时,为中心节点维护地址映射表提供依据。由于IKE协商是IPSec隧 道建立过程中必须进行的处理,因此本发明利用了IKE协商过程来完成模式和信息传递, 这样一来大大提高了本发明在实现上的互通性,不同厂商网络设备之间进行互通时的成本 大幅度降低。
[0036] 在上述IPSecVPN系统的运行过程中,由于各分支节点的公网IP地址为动态IP地 址,因此,当分支节点的公网IP地址发生变化时,将重新建立隧道连接,中心节点的地址映 射表也会随之更新,从而保证各分支之间的正确访问。当分支节点与中心节点的IPSec隧 道异常断开时,中心节点将删除地址映射表中该分支节点的公网IP地址与TunnelIP地址 的对应关系记录,以防止访问已断开的分支节点,造成资源浪费。异常断开隧道连接的分支 节点将在预设的时间后,重新发起隧道连接。
[0037] 由此可见,本发明提供了一种方便、易于维护的VPN系统控制方法,同时由于 IPSec技术的应用,提高了系统数据通信的安全性。
[0038] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精 神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
【主权项】
1. 一种IPSec VPN系统控制方法,该方法应用于VPN系统,该系统包括中心节点、第一 分支节点以及第二分支节点,其特征在于,该方法包括以下步骤: 步骤A,在各分支节点分别与中心节点建立隧道连接过程中,发送各分支节点的Tunnel IP地址给中心节点; 步骤B,中心节点接收到各分支节点的Tunnel IP地址后,在地址映射表中建立各分支 节点的公网IP地址与Tunnel IP地址对应关系; 步骤C,在各分支节点上分别配置当前分支节点与其他分支节点间的隧道路由表; 步骤D,当第一分支节点的内网资源访问第二分支节点的内网资源时,第一分支节点查 询其内部配置的隧道路由表,从已配置的第一分支节点与第二分支节点间的隧道转发,若 所述分支节点间的隧道没有建立,则通过已建立的第一分支节点与中心节点的隧道,发送 携带第二分支节点Tunnel IP地址的消息给中心节点,向中心节点请求第二分支节点的公 网IP地址; 步骤E,中心节点接收到该请求后,获取第二分支节点Tunnel IP地址,查询所述地址 映射表中该Tunnel IP地址对应的公网IP地址,并将该第二分支节点的公网IP地址发送 给第一分支节点; 步骤F,第一分支节点接收到第二分支节点的公网IP地址后,与该第二分支节点建立 IPSec隧道,进而访问第二分支节点的内网资源。2. 如权利要求1所述的方法,其特征在于:所述步骤A之前还包括: 步骤G,各分支节点分别向中心节点发送模式确认消息,确认中心节点是否支持P2MP 模式。3. 如权利要求2所述的方法,其特征在于: 所述模式确认消息是在分支节点与中心节点建立IPSec隧道过程中,进行IKE协商的 第一阶段发送的。4. 如权利要求1所述的方法,其特征在于: 所述步骤A中各分支节点的Tunnel IP地址通过IKE协商的第二阶段发送给中心节点。5. 如权利要求1所述的方法,其特征在于: 若分支节点与中心节点的IPSec隧道连接断开,则在地址映射表中删除该分支节点的 公网IP地址与Tunnel IP地址的对应关系记录。
【专利摘要】本发明提供一种IPSec VPN系统控制方法,各分支节点发送Tunnel IP地址给中心节点;中心节点建立各分支节点公网IP地址与Tunnel IP地址对应关系表;各分支节点配置与其他分支节点间的隧道路由表;当第一分支节点内网资源访问第二分支节点内网资源时,第一分支节点查询内部隧道路由表,从第二分支节点隧道转发,若该隧道没有建立,则发送携带第二分支节点Tunnel IP地址的消息给中心节点,请求第二分支节点公网IP地址;中心节点获取该Tunnel IP地址后,查询该Tunnel IP地址对应的公网IP地址,并发送给第一分支节点;第一分支节点与该第二分支节点建立隧道。本发明解决了分支节点间在不知道对端公网IP的情况下,建立安全可靠的互访通道。
【IPC分类】H04L12/741, H04L29/06, H04L12/46
【公开号】CN104883287
【申请号】CN201410072361
【发明人】王之云, 孔伟政, 李大腾
【申请人】杭州迪普科技有限公司
【公开日】2015年9月2日
【申请日】2014年2月28日
转载请注明原文地址:https://www.famiwei.com/read-8136290.html