《一种VPN网络中的VPN自动穿越方法.pdf》由会员分享,可在线阅读,更多相关《一种VPN网络中的VPN自动穿越方法.pdf(6页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 104283977 A (43)申请公布日 2015.01.14 CN 104283977 A (21)申请号 201310284345.X (22)申请日 2013.07.08 H04L 29/12(2006.01) H04L 12/46(2006.01) (71)申请人 北京思普崚技术有限公司 地址 100084 北京市海淀区农大南路 1 号院 2 号楼 B-604 (72)发明人 苏长君 郑曙光 (54) 发明名称 一种 VPN 网络中的 VPN 自动穿越方法 (57) 摘要 本发明公开了一种 VPN 网络中的 VPN 自动穿 越方法。 本发明中, 在面对 VP。
2、N 和 NAT 带来的不兼 容的问题时, 通过在 NAT 设备上设置代理的方式, 使得VPN数据包可以无障碍的通过NAT设备, 使得 无需应用更多的无用数据、 无需增加额外的设备、 无需对现有设备进行大幅度改变即可实现预期功 能。同时, 通过自动发现、 自动设置的方式来进行 NAT 设备上代理的配置, 使得无需用户参与, 即代 理的设置对用户而言是透明的, 增强了用户体验。 (51)Int.Cl. 权利要求书 1 页 说明书 3 页 附图 1 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书1页 说明书3页 附图1页 (10)申请公布号 CN 104283977 A 。
3、CN 104283977 A 1/1 页 2 1. 一种 VPN 网络中的自动 NAT 穿越方法, 其特征在于, 包括以下步骤 : 步骤 202、 本端接收到创建 VPN 连接的命令时, 首先自动建立一普通 IP 连接, 向对端发 送测试数据包, 用以测试在所建立的 IP 连接路径中是否存在 NAT 设备 ; 步骤204、 若存在本端NAT设备, 则本端NAT设备接收到测试数据包后, 自动在其上创建 一个本端临时 VPN 代理, 并与所述本端相关联 ; 步骤206、 本端和对端协商IPSec协议所需的相关参数, 协商成功后, 本端将涉及IPSec 协议的相关参数信息发送给所述本端临时 VPN 。
4、代理 ; 步骤 208、 本端和对端基于 IPSec 进行 VPN 通信时, 本端使用私网地址作为源地址对数 据包进行 IPSec 协议封装并发送至所述本端临时 VPN 代理 ; 步骤210、 所述本端临时VPN代理接收数据包后, 对其进行解封装和解密, 然后进行NAT 地址转换, 将本端的私网地址转换成公网地址 ; 步骤 212、 所述本端临时 VPN 代理使用转换后的公网地址作为源地址, 使用所述涉及 IPSec 协议的相关参数信息再次对数据进行 IPSec 封装, 并将其发送至对端。 2. 基于权利要求 1 所述的方法, 其特征在于 : 在步骤 202 中, 测试数据包发送到对端 时, 。
5、若存在对端 NAT 设备, 则对端 NAT 设备自动在其上创建一个与对端相关联的对端临时 VPN 代理, 并告知对端。 3. 基于权利要求 1 所述的方法, 其特征在于 : 在步骤 206 中, 所述本端临时 VPN 代理接 收到所述涉及 IPSec 协议的相关参数信息后, 对其进行加密存储, 并设定访问权限为仅所 述本端临时 VPN 代理能够访问。 权 利 要 求 书 CN 104283977 A 2 1/3 页 3 一种 VPN 网络中的 VPN 自动穿越方法 技术领域 0001 本发明涉及通信技术领域, 尤其涉及一种 VPN 的连接方法。 背景技术 0002 IPSec 是 Intern。
6、et 工程任务组 (IETF) 制定的一系列安全标准, 可以较好地解决 目前 Internet 上面临的安全威胁, 有效地保证数据的安全传输。 随着 Internet 的不断 发展, IPSec 已逐渐成为构建 VPN 的主流技术。 网络地址转换 (NAT) 技术支持多台主机共 享全局 IP 地址, 能很好地解决 IPv4 网络地址短缺问题, 同时具有屏蔽内部网络的作用。 然而, 已被广泛使用的 NAT 设备制约着基于 IPSec 技术的 VPN 的发展, IPSec 和 NAT 兼 容性方面的问题已成为当前网络安全领域的研究热点, 如何根据自身的实际需要, 寻求合 适有效的 IPSec 透明。
7、穿越 NAT 的解决方案以获得最大的性价比, 已成为需要构建 VPN 的 企业迫需解决的问题。 0003 IPSec 和 NAT 之间存在多方面的不兼容性, 具体表现如下 : (1) IPSec AH 和 NAT : AH 利用消息摘要算法对整个 IP 数据包产生一个散列值, 但 NAT 会对外出包的源地址和进入包的目的地址进行修改, AH 认为 IP 包被非法修改, 从而 导致认证失效。 0004 (2) 校验和与 NAT : 校验和与 IP 源和目的地址有依赖关系, 当 NAT 设备改变 IP 地址后需要重新计算并修改 TCP/UDP 校验和。 在应用 ESP 传输模式时, 该值处于加密负。
8、 载之中, 当它被送往上层协议处理时, 这个包便会被丢弃。 0005 (3) IKE 地址标识符和 NAT : 在 IKE 协商中 , 通信双方使用 IP 地址作为身份标 识符, 而 NAT 设备对 IP 地址的修改会引起 IP 头中的地址和标识符不符, IKE 会将这样 的包丢掉。 0006 (4) IKE 固定的目标端口和 NAPT : IKE 协商时的 UDP 通信端口号一般固定是 500, 而当 NAPT 后面的多方主机向同一响应者发起 IKE SA 时, 响应者必须能够接受非 500UDP 端口的 IKE 流量。 0007 (5) 重叠的 SPD 项和 NAT : 在 IKE 协商的。
9、第二阶段中 , NAT后的多个主机和相同 响应者协商 SPD 时会出现重叠, 这样, 响应者可能在错误的 IPSec SA 下发送数据包。 0008 (6) IPSec SPI 选择符和 NAT : 由于 SA 是单向的 , 外出和进入包的 SPI 选取是 独立的, 因此, 仅通过监测外出的流量, NAT 无法决定哪个进入的 SPI 和哪个目标主机相对 应。 0009 (7) 内嵌 IP 地址和 NAT : 当内嵌 IP 地址时 , 由于载荷受到完整性保护, IPSec 包中的任何 IP 地址不能被 NAT 转换。 0010 目前已经有下面的一些技术方案用以解决 IPSec 和 NAT 协同工。
10、作的问题 : (1) 提前进行 NAT 操作, 但该方案会造成局限性大, 可部署性不强的问题。 0011 (2) 用 RSIP 代替 NAT, 但该方案可部署性差, 因为它需要改进操作系统的 TCP/ IP 协议栈使其知道 RSIP 的存在, 而且需要用新的 RSIP 网关代替现有的 NAT 路由设 说 明 书 CN 104283977 A 3 2/3 页 4 备, 这将是一项长期而且成本较高的工作。 0012 (3) “6to4“ 方法, 但该方案需要升级目前的 NAT 设备, 所以 6to4 不能在短期内 部署。 0013 (4) 用 UDP 封装 IPSec 数据包, 但该方案增加了发送。
11、的无用数据量, 且 UDP 协议 的不确定性会导致通信的不稳定。 发明内容 0014 本发明提供了一种 VPN 网络中的自动 NAT 穿越方法, 其特征在于, 包括以下步骤 : 步骤 202、 本端接收到创建 VPN 连接的命令时, 首先自动建立一普通 IP 连接, 向对端发 送测试数据包, 用以测试在所建立的 IP 连接路径中是否存在 NAT 设备 ; 步骤204、 若存在本端NAT设备, 则本端NAT设备接收到测试数据包后, 自动在其上创建 一个本端临时 VPN 代理, 并与所述本端相关联 ; 步骤206、 本端和对端协商IPSec协议所需的相关参数, 协商成功后, 本端将涉及IPSec 。
12、协议的相关参数信息发送给所述本端临时 VPN 代理 ; 步骤 208、 本端和对端基于 IPSec 进行 VPN 通信时, 本端使用私网地址作为源地址对数 据包进行 IPSec 协议封装并发送至所述本端临时 VPN 代理 ; 步骤210、 所述本端临时VPN代理接收数据包后, 对其进行解封装和解密, 然后进行NAT 地址转换, 将本端的私网地址转换成公网地址 ; 步骤 212、 所述本端临时 VPN 代理使用转换后的公网地址作为源地址, 使用所述涉及 IPSec 协议的相关参数信息再次对数据进行 IPSec 封装, 并将其发送至对端。 0015 本发明中, 在面对 VPN 和 NAT 带来的不。
13、兼容的问题时, 通过在 NAT 设备上设置代理 的方式, 使得 VPN 数据包可以无障碍的通过 NAT 设备, 使得无需应用更多的无用数据、 无需 增加额外的设备、 无需对现有设备进行大幅度改变即可实现预期功能。同时, 通过自动发 现、 自动设置的方式来进行 NAT 设备上代理的配置, 使得无需用户参与, 即代理的设置对用 户而言是透明的, 增强了用户体验。 附图说明 0016 为了更清楚地说明本发明实施例中的技术方案, 下面将对实施例或现有技术描述 中所需要使用的附图作简单地介绍, 显而易见地, 下面描述中的附图仅仅是本发明的一些 实施例。 对于本领域普通技术人员来讲, 在不付出创造性劳动的。
14、前提下, 还可以根据这些附 图获得其他的附图。 0017 图 1 为本发明实施例一的流程图。 具体实施方式 0018 为使本发明的目的、 技术方案及优点更加清楚明白, 以下将通过具体实施例和相 关附图, 对本发明作进一步详细说明。 0019 实施例一 本发明实施例一提供了一种VPN网络中的自动NAT穿越方法, 其特征在于, 包括以下步 骤 : 说 明 书 CN 104283977 A 4 3/3 页 5 步骤 202、 本端接收到创建 VPN 连接的命令时, 首先自动建立一普通 IP 连接, 向对端发 送测试数据包, 用以测试在所建立的 IP 连接路径中是否存在 NAT 设备 ; 步骤204、。
15、 若存在本端NAT设备, 则本端NAT设备接收到测试数据包后, 自动在其上创建 一个本端临时 VPN 代理, 并与所述本端相关联 ; 步骤206、 本端和对端协商IPSec协议所需的相关参数, 协商成功后, 本端将涉及IPSec 协议的相关参数信息发送给所述本端临时 VPN 代理 ; 步骤 208、 本端和对端基于 IPSec 进行 VPN 通信时, 本端使用私网地址作为源地址对数 据包进行 IPSec 协议封装并发送至所述本端临时 VPN 代理 ; 步骤210、 所述本端临时VPN代理接收数据包后, 对其进行解封装和解密, 然后进行NAT 地址转换, 将本端的私网地址转换成公网地址 ; 步骤。
16、 212、 所述本端临时 VPN 代理使用转换后的公网地址作为源地址, 使用所述涉及 IPSec 协议的相关参数信息再次对数据进行 IPSec 封装, 并将其发送至对端。 0020 实施例二 在实施例一的步骤202中, 测试数据包发送到对端时, 若存在对端NAT设备, 则对端NAT 设备自动在其上创建一个与对端相关联的对端临时 VPN 代理, 并告知对端。 0021 实施例三 在实施例一的步骤 206 中, 所述本端临时 VPN 代理接收到所述涉及 IPSec 协议的相关 参数信息后, 对其进行加密存储, 并设定访问权限为仅所述本端临时 VPN 代理能够访问 本领域普通技术人员可以理解实现上述。
17、实施例方法中的全部或部分流程, 是可以通过 主机程序来指令相关的硬件来完成, 所述的程序可存储于一主机可读取存储介质中, 该程 序在执行时, 可包括如上述各方法的实施例的流程。 其中, 所述的存储介质可为磁碟、 光盘、 只读存储记忆体 (Read-Only Memory, ROM) 或随机存储记忆体 (Random Access Memory, RAM) 等。 0022 上列较佳实施例, 对本发明的目的、 技术方案和优点进行了进一步详细说明, 所应 理解的是, 以上所述仅为本发明的较佳实施例而已, 并不用以限制本发明, 凡在本发明的精 神和原则之内, 所作的任何修改、 等同替换、 改进等, 均应包含在本发明的保护范围之内。 说 明 书 CN 104283977 A 5 1/1 页 6 图 1 说 明 书 附 图 CN 104283977 A 6 。