CN105072213A - 一种IPSec NAT双向穿越方法、系统及VPN网关 - Google Patents
一种IPSec NAT双向穿越方法、系统及VPN网关 Download PDFInfo
- Publication number
- CN105072213A CN105072213A CN201510541143.8A CN201510541143A CN105072213A CN 105072213 A CN105072213 A CN 105072213A CN 201510541143 A CN201510541143 A CN 201510541143A CN 105072213 A CN105072213 A CN 105072213A
- Authority
- CN
- China
- Prior art keywords
- vpn gateway
- opposite end
- nat device
- address
- local terminal
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0272—Virtual private networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0485—Networking architectures for enhanced packet encryption processing, e.g. offloading of IPsec packet processing or efficient security association look-up
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及网络技术。本发明解决了现有IPsec?NAT无法双向穿越的问题,提供了一种IPSec?NAT双向穿越方法、系统及VPN网关,其技术方案可概括为:本端VPN网关与对端VPN网关,分别在本地创建一个虚拟接口,并向服务器申请认证,在通过服务器的认证后,从服务器为本地虚拟接口获取虚拟IP地址,根据在认证过程中服务器探测到的与其连接的NAT设备的NAT类型,分别进行IPSec?VPN相关配置并向另一端发起IKE连接从而建立IPSec?VPN。本发明的有益效果是:方便用户,适用于网络构建。
Description
技术领域
本发明涉及网络技术,特别涉及基于IPSec(InternetProtocolSecurity,网络层安全)技术的NAT(NetworkAddressTranslation,网络地址转换)穿越技术。
背景技术
随着计算机网络的快速发展,IPv4面临地址耗尽的挑战,为了解决IPv4地址耗尽的问题,出现了一系列解决方案,例如IPv6、NAT等。而由于IPv6当前还未大面积普及,所以无疑NAT还需要扮演重要角色。正是由于IPv4地址紧缺,现在各大运营商已在ISP(InternetServiceProvider,网络服务提供商)网络里部署了NAT设备,客户从运营商获取的公网IP地址实际上是私网IP地址,而IPSecNAT穿越必须保证响应端具有真正的公网地址,现实中就会出现以下问题:某一大型集团公司要使用IPSec构建公司网络,若公司总部和分部获取的公网IP均是私网地址,则公司总部与分部就无法使用IPSecNAT穿越构建网络。目前NAT可以分为如下两大类型:
1、锥型NAT:只要是从相同内部IP地址和端口发出来的数据包,无论目的地址和端口是否相同,NAT都将它转换成1个外部地址和端口;
2、对称NAT:只有来自同一个内部地址和端口,且针对同一个目的地址和端口才会被转换成同一外部地址和端口,否则,NAT将重新分配一个新的端口;
其中锥形NAT又分为如下三类:
1)完全圆锥型(FullCone)NAT:所有来自相同内部IP地址和端口的请求映射到相同的外部IP地址和端口,而不管这些请求是否属于同一个应用或者是多个应用的,任意一个外部主机均可随时通过该映射发送数据包;
2)地址限制圆锥型(RestrictedCone)NAT:它是完全圆锥型NAT的受限版本,所有来自相同内部IP地址和端口的请求映射到相同的外部IP地址和端口。但是,与完全圆锥型NAT不同的是,只有当内部主机先给外部主机发送数据包(假设数据包中该外部主机IP地址为Z),该外部主机才能以该映射中外部IP地址和端口为目标地址和目标端口向内部主机发送数据包,即NAT设备只向内转发那些来自于当前已知的外部主机(IP地址为Z)的数据包;
3)端口限制圆锥型(PortRestrictedCone)NAT:它是限制圆锥型NAT的进一步受限版,其只有当内部主机曾经发送过报文给外部主机(假设数据包中目的IP地址为z、端口为p)之后,外部主机才能以该映射中外部IP地址和端口为目标地址和目标端口向内部主机发送数据包(此时数据包的源端口必须为P、源IP地址必须为z)。
NAT使用范围越来越广,而IPSecNAT穿越却只能实现单向穿越,目前有一种STUN(SimpleTraversalofUDPoverNATs,NAT的UDP简单穿越)技术,是一种网络协议,它允许位于NAT(或多重NAT)后的客户端找出自己的公网地址,查出自己位于哪种类型的NAT之后以及NAT为某一个本地端口所绑定的Internet端端口。STUN旨在找到开放的对应公网地址和端口,从而其他用户可以通过与该公网地址和端口与真正的内网用户通信,但STUN无法解决IPSecNAT双向穿越的问题,且其存在以下不足:1、若公网地址变化,则STUN会导致网络中断;2、若私网地址变化,则STUN会导致网络中断;3、不同NAT类型,STUN无法实现开放公网NAT设备固定的TCP端口号。现有技术中STUN可以解决的问题仅是找出客户端对应的公网地址和NAT类型,无法实现IPSecNAT双向穿越。
发明内容
本发明的目的就是克服目前IPsecNAT无法双向穿越的缺点,提供一种IPSecNAT双向穿越方法、系统及VPN网关。
本发明解决其技术问题,采用的技术方案是,一种IPSecNAT双向穿越方法,应用于包括本端VPN网关、本端NAT设备、对端VPN网关、对端NAT设备以及服务器的系统中,其特征在于,包括以下步骤:
A、在本端VPN网关与对端VPN网关中,分别创建一个虚拟接口;
B、本端VPN网关和对端VPN网关分别向所述服务器申请认证,在认证过程中所述服务器探测本端NAT设备和对端NAT设备的NAT类型;
C、在本端VPN网关和对端VPN网关通过所述服务器的认证后,所述服务器分别为所述本端VPN网关和对端VPN网关的虚拟接口分配虚拟IP地址;
D、所述本端VPN网关和对端VPN网关进行IPSecVPN相关配置,根据所述本端NAT设备和对端NAT设备的NAT类型,所述本端VPN网关和对端VPN网关之间发起IKE连接,建立IPSecVPN;
E、与本端VPN网关连接的主机通过所述IPSecVPN与连接到所述对端VPN网关的主机建立通信。
具体的,步骤B中,所述本端VPN网关和对端VPN网关分别向所述服务器申请认证,在认证过程中所述服务器探测所述本端NAT设备和对端NAT设备的NAT类型,具体包括:
B1、所述本端VPN网关和对端VPN网关分别通过所连接的NAT设备向所述服务器申请认证;
B2、所述本端NAT设备和对端NAT设备分别建立到所述服务器的NAT转发表项;
B3、所述服务器通过分别向所述本端NAT设备和对端NAT设备发起请求,探测所述本端NAT设备和对端NAT设备的NAT类型。
进一步的,步骤D中,所述本端VPN网关和对端VPN网关进行IPSecVPN相关配置的方法,具体包括:
本端VPN网关将其IPSecVPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为any;所述对端VPN网关的IPSecVPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为所述本端VPN网关的虚拟IP地址;或者
本端VPN网关将其IPSecVPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为所述对端VPN网关的虚拟IP地址;所述对端VPN网关的IPSecVPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为any。
具体的,步骤D中,所述根据所述本端NAT设备和对端NAT设备的NAT类型,所述本端VPN网关和对端VPN网关之间发起IKE连接,具体包括:
当所连接的NAT设备的NAT类型为完全圆锥型FullConeNAT时,发起IKE连接的VPN网关直接利用自身的虚拟接口将IKE报文封装后发送到与目的VPN网关连接的NAT设备上,所述NAT设备直接将IKE报文发送给目的VPN网关;当NAT设备的NAT类型为非FullConeNAT时,发起IKE连接的VPN网关利用自身的虚拟接口将IKE报文封装后发送到服务器,服务器将所述IKE报文重新封装后发到与目的VPN网关连接的NAT设备上,所述NAT设备直接将所述重新封装后的IKE报文发送给目的VPN网关。
一种IPSecNAT双向穿越系统,包括本端VPN网关、本端NAT设备、对端VPN网关、对端NAT设备以及服务器,所述本端VPN网关通过本端NAT设备与所述服务器连接,所述对端VPN网关通过对端NAT设备与所述服务器连接,其特征在于,
所述本端VPN网关与对端VPN网关,分别用于在本地创建一个虚拟接口,并向所述服务器申请认证,在通过所述服务器的认证后,从所述服务器为本地虚拟接口获取虚拟IP地址,根据在认证过程中所述服务器探测到的与其连接的NAT设备的NAT类型,分别进行IPSecVPN相关配置并向另一端发起IKE连接从而建立IPSecVPN;
所述服务器,用于对所述本端VPN网关与对端VPN网关进行认证,在认证通过后为所述本端VPN网关与对端VPN网关的虚拟接口分配虚拟IP地址,并在认证过程中探测所述本端NAT设备和对端NAT设备的NAT类型。
进一步的,所述本端NAT设备和对端NAT设备分别用于:在所述本端VPN网关与对端VPN网关向所述服务器申请认证过程中建立到所述服务器的NAT转发表项;并与另一端NAT设备进行通信。
具体的,所述本端VPN网关和对端VPN网关,具体用于:
本端VPN网关将其IPSecVPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为any时;所述对端VPN网关的IPSecVPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为所述本端VPN网关的虚拟IP地址;或者
本端VPN网关将其IPSecVPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为所述对端VPN网关的虚拟IP地址时;所述对端VPN网关的IPSecVPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为any。
再进一步的,所述本端VPN网关和对端VPN网关,具体用于:
当其所连接的NAT设备的NAT类型为完全圆锥型FullConeNAT时,发起IKE连接时直接利用其自身的虚拟接口将IKE报文封装后发送到与目的VPN网关连接的NAT设备上,由所述NAT设备直接将IKE报文发送给目的VPN网关;当其所连接NAT设备的NAT类型为非FullConeNAT时利用其自身的虚拟接口将IKE报文封装后发送到服务器,服务器将所述IKE报文重新封装后发到与目的VPN网关连接的NAT设备上,由所述NAT设备直接将所述重新封装后的IKE报文发送给目的VPN网关。
一种VPN网关,其特征在于,包括:
虚拟接口创建模块,用于在本地创建一个虚拟接口;
认证申请模块,用于向服务器申请认证,在认证通过后从服务器获取为其虚拟接口分配的虚拟IP地址;
IPSecVPN创建模块,用于进行IPsecVPN相关配置,根据在认证过程中所述服务器探测的与其连接的本端NAT设备和与目的VPN网关连接的目的NAT设备的NAT类型,与目的VPN网关发起IKE连接,建立IPSecVPN。
具体的,IPSecVPN创建模块还用于:
当其所连接的NAT设备的NAT类型为完全圆锥型FullConeNAT时,发起IKE连接时直接利用其所在VPN网关自身的虚拟接口将IKE报文封装后发送到与目的VPN网关连接的目的NAT设备上,由所述目的NAT设备直接将IKE报文发送给目的VPN网关;当其所连接NAT设备的NAT类型为非FullConeNAT时,利用其所在VPN网关自身的虚拟接口将IKE报文封装后发送到服务器。
本发明的有益效果是,通过上述一种IPSecNAT双向穿越方法、系统及VPN网关,实现了IPSecNAT的双向穿越,能够通过IPSec构建网络,另外,常规的IPSec虽然也能鉴别身份,但需要开销部分VPN设备的CPU资源和网络资源,而通过用户密码登录注册服务器的方式,保证接入网络设备的可靠性,节约了VPN设备的CPU和网络资源,且统一管理,由服务器统一管控所有VPN设备,实现地址统一分配,且由于报文长度有所增加,所以转发性能会有所降低,但重新封装后的报文是单纯的UDP报文,转发不会收到CPU的影响,使得转发性能高效,另外,不管运营商NAT设备的公网地址变化,还是用户VPN网关的公网地址(实际为私网)变化,使用虚拟IP地址实现动态切换,业务不会受到影响,方便用户。
附图说明
图1是本发明实施例的一种IPSecNAT双向穿越方法流程图;
图2是本发明实施例中IPsecNAT双向穿越系统的系统框图;
图3是本发明实施例中IPsecNAT双向穿越系统的网络拓扑示意图。
具体实施方式
下面结合实施例及附图,详细描述本发明的技术方案。
本发明实施例提供一种IPSecNAT双向穿越方法,参见图1,应用于包括本端VPN网关、本端NAT设备、对端VPN网关、对端NAT设备以及服务器的系统中,具体包括如下步骤:
101,在本端VPN网关与对端VPN网关中,分别创建一个虚拟接口。
102,本端VPN网关和对端VPN网关分别向所述服务器申请认证,在认证过程中所述服务器探测本端NAT设备和对端NAT设备的NAT类型。本步骤可以具体包括:
所述本端VPN网关和对端VPN网关分别通过所连接的NAT设备向所述服务器申请认证;
所述本端NAT设备和对端NAT设备分别建立到所述服务器的NAT转发表项;
所述服务器通过分别向所述本端NAT设备和对端NAT设备发起请求,探测所述本端NAT设备和对端NAT设备的NAT类型。
103,在本端VPN网关和对端VPN网关通过所述服务器的认证后,所述服务器分别为所述本端VPN网关和对端VPN网关的虚拟接口分配虚拟IP地址。
104,所述本端VPN网关和对端VPN网关进行IPSecVPN相关配置,根据所述本端NAT设备和对端NAT设备的NAT类型,所述本端VPN网关和对端VPN网关之间发起IKE连接,建立IPSecVPN。本步骤中,所述本端VPN网关和对端VPN网关进行IPSecVPN相关配置的方法,具体包括:
本端VPN网关将其IPSecVPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为any;所述对端VPN网关的IPSecVPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为所述本端VPN网关的虚拟IP地址;或者
本端VPN网关将其IPSecVPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为所述对端VPN网关的虚拟IP地址;所述对端VPN网关的IPSecVPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为any。
而根据所述本端NAT设备和对端NAT设备的NAT类型,所述本端VPN网关和对端VPN网关之间发起IKE连接,具体包括:当所连接的NAT设备的NAT类型为完全圆锥型FullConeNAT时,发起IKE连接的VPN网关直接利用自身的虚拟接口将IKE报文封装后发送到与目的VPN网关连接的NAT设备上,所述NAT设备直接将IKE报文发送给目的VPN网关;当NAT设备的NAT类型为非FullConeNAT时,发起IKE连接的VPN网关利用自身的虚拟接口将IKE报文封装后发送到服务器,服务器将所述IKE报文重新封装后发到与目的VPN网关连接的NAT设备上,所述NAT设备直接将所述重新封装后的IKE报文发送给目的VPN网关。
105、与本端VPN网关连接的主机通过所述IPSecVPN与连接到所述对端VPN网关的主机建立通信。本步骤属于现有技术,不再赘述。
参见图2,为本发明实施例实施上述IPSecNAT双向穿越方法的系统结构框图,包括本端VPN网关、本端NAT设备、对端VPN网关、对端NAT设备以及服务器,本端VPN网关通过本端NAT设备与服务器连接,对端VPN网关通过对端NAT设备与服务器连接,其中,本端VPN网关与对端VPN网关分别用于在本地创建一个虚拟接口,并向所述服务器申请认证,在通过所述服务器的认证后,从服务器为本地虚拟接口获取虚拟IP地址,根据在认证过程中所述服务器探测到的与其连接的NAT设备的NAT类型,分别进行IPSecVPN相关配置并向另一端发起IKE连接从而建立IPSecVPN;与本端VPN网关连接的主机通过所述IPSecVPN与连接到所述对端VPN网关的主机建立通信;服务器用于对本端VPN网关与对端VPN网关进行认证,在认证通过后为本端VPN网关与对端VPN网关的虚拟接口分配虚拟IP地址,并在认证过程中探测本端NAT设备和对端NAT设备的NAT类型。
这里,本端NAT设备和对端NAT设备分别用于:在本端VPN网关与对端VPN网关向服务器申请认证过程中建立到服务器的NAT转发表项;并与另一端NAT设备进行通信。本端VPN网关和对端VPN网关,还具体用于:本端VPN网关将其IPSecVPN的本地地址配置为服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为any时;所述对端VPN网关的IPSecVPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为所述本端VPN网关的虚拟IP地址;或者
本端VPN网关将其IPSecVPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为所述对端VPN网关的虚拟IP地址时;所述对端VPN网关的IPSecVPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为any。本端VPN网关和对端VPN网关,还具体用于:当其所连接的NAT设备的NAT类型为完全圆锥型FullConeNAT时,发起IKE连接时直接利用其自身的虚拟接口将IKE报文封装后发送到与目的VPN网关连接的NAT设备上,由NAT设备直接将IKE报文发送给目的VPN网关;当其所连接NAT设备的NAT类型为非FullConeNAT时利用其自身的虚拟接口将IKE报文封装后发送到服务器,服务器将该IKE报文重新封装后发到与目的VPN网关连接的NAT设备上,由该NAT设备直接将重新封装后的IKE报文发送给目的VPN网关。其中,向服务器获取虚拟IP地址是指:VPN网关登录服务器,采用简单用户/密码方式认证,认证成功后,服务器给VPN网关分配一个虚拟IP地址。NAT设备类型包括FullConeNAT、RestrictedConeNAT、PortRestrictedConeNAT及对称NAT。
本实施例中,所使用的VPN网关,包括:虚拟接口创建模块,用于在本地创建一个虚拟接口;认证申请模块,用于向服务器申请认证,在认证通过后从服务器获取为其虚拟接口分配的虚拟IP地址;IPSecVPN创建模块,用于进行IPsecVPN相关配置,根据在认证过程中所述服务器探测的与其连接的本端NAT设备和与目的VPN网关连接的目的NAT设备的NAT类型,与目的VPN网关发起IKE连接,建立IPSecVPN。
其中,IPSecVPN创建模块还用于:
当其所连接的NAT设备的NAT类型为完全圆锥型FullConeNAT时,发起IKE连接时直接利用其所在VPN网关自身的虚拟接口将IKE报文封装后发送到与目的VPN网关连接的目的NAT设备上,由所述目的NAT设备直接将IKE报文发送给目的VPN网关;当其所连接NAT设备的NAT类型为非FullConeNAT时,利用其所在VPN网关自身的虚拟接口将IKE报文封装后发送到服务器。
参见图3,为是本发明实施例中IPsecNAT双向穿越系统的网络拓扑示意图;图中,整个系统由VPN网关-A、VPN网关-B、NAT设备-A、NAT设备-B及服务器组成,其中VPN网关-A连接公司总部内网主机,VPN网关-B连接公司分部内网。设VPN网关-A和VPN网关-B与NAT设备连接的接口IP地址分别为192.168.1.2及192.168.2.2,而对应NAT设备-A及NAT设备-B的接口IP地址分别为192.168.1.1及192.168.2.1。NAT设备-A及NAT设备-B的公网IP地址分别是2.1.1.1和2.1.1.2,对应的服务器公网IP地址分别为2.1.1.3。
VPN网关-A和VPN网关-B分别登录服务器进行认证申请,服务器对网关采用如用户名/密码方式认证,认证成功后,服务器分别给VPN网关-A和VPN网关-B分配一个虚拟IP地址,如VPN网关-A的虚拟IP为1.1.1.1;VPN网关-B的虚拟IP为1.1.1.2,这个虚拟IP地址被配置到网关各自的虚拟接口,这样VPN网关-A和VPN网关-B形成了一个虚拟网络;
通过VPN网关-A和VPN网关-B分别登录服务器进行认证申请,可以探测运营商NAT设备的类型(如FullConeNAT、RestrictedConeNAT、PortRestrictedConeNAT或对称NAT),具体过程如下:
VPN网关-A和VPN网关-B首先与服务器通信,此时NAT设备-A和NAT设备-B会建立NAT会话表项,假设表项是:
192.168.1.2:3000→2.1.1.3:3000,NAT设备-A转换后2.1.1.1:4000→2.1.1.3:3000
192.168.2.2:5000→2.1.1.3:5000,NAT设备-B转换后2.1.1.2:6000→2.1.1.3:5000
探测方法如下:
下面以探测NAT设备-A类型举例,NAT设备-B探测方式一样。
步骤1、服务器反向主动向NAT设备-A发起请求,使用2.1.1.3:3000、2.1.1.3:3001、2.1.1.4:3002、2.1.1.4:3000分别与2.1.1.1:3000通信。
步骤2、若2.1.1.4:3002可以通过2.1.1.1:3000将报文发送到VPN网关-A,则NAT为FullConeNAT;
步骤3、当前一种方式无法通信,若2.1.1.3:3001可以通过2.1.1.1:3000将报文发送到VPN网关-A,则NAT为RestrictedConeNAT;
步骤4、当前两种方式无法通信,若2.1.1.3:3000可以通过2.1.1.1:3000将报文发送到VPN网关-A,则NAT为PortRestrictedConeNAT;
步骤5、若2.1.1.3:3000可以通过2.1.1.1:3000将报文发送到VPN网关-A,2.1.1.4:3000不能通过2.1.1.1:3000将报文发送到VPN网关-A,则NAT为对称NAT。
在VPN网关-A和VPN网关-B分别配置IPsecVPN的相关配置,VPN网关-A的本地地址(localaddress)写成自己设备的虚拟IP地址1.1.1.1,对端地址(peeraddress)写成any,分部VPN网关-B的localaddress写成自己设备的虚拟IP地址1.1.1.2,peeraddress写成对端设备的虚拟IP地址1.1.1.1。这里是为了节省VPN的配置才这样做的,与总部内网连接的VPN网关在配置IPsecVPN时将peeraddress)写成any;实际上叶可以写为对端设备的虚拟IP地址1.1.1.2。
当VPN网关-B发起IKE连接请求时:
1、若运营商NAT设备-A类型为FullConeNAT,则VPN网关-B直接将报文进行封装发送到NAT设备-A,封装报文格式如下:
新目的IP | 新源IP | UDP目的端口 | UDP源端口 | 原目的IP | 原源IP | UDP | data |
2.1.1.1 | 192.168.2.2 | 3000 | 任意 | 1.1.1.1 | 1.1.1.2 |
当报文到达NAT设备-A,NAT设备-A直接将报文送到VPN网关-A,VPN网关-A再对报文进行解封装,还原原始IKE报文,发送到自身虚拟接口。同理,VPN网关-A发出的报文经过相同操作,发送到VPN网关-B,最终IKE连接及IPSec采用虚拟IP地址建立成功;
2、若运营商NAT设备-A类型为RestrictedConeNAT、PortRestrictedConeNAT、对称NAT的其中一种,则VPN网关-B不能将报文进行封装发送到NAT设备-A,需要使用注册服务器进行中继转发。VPN网关-B发出报文到注册服务器,封装报文格式如下:
新目的IP | 新源IP | UDP目的端口 | UDP源端口 | 原目的IP | 原源IP | UDP | data |
2.1.1.3 | 192.168.2.2 | 3000 | 5000 | 1.1.1.1 | 1.1.1.2 |
经过注册服务器处理后,封装报文格式如下:
新目的IP | 新源IP | UDP目的端口 | UDP源端口 | 原目的IP | 原源IP | UDP | data |
2.1.1.1 | 2.1.1.3 | 3000 | 3000 | 1.1.1.1 | 1.1.1.2 |
此时NAT设备-A将报文转发给VPN网关-A,VPN网关-A收到报文后进行解封装,还原原始IKE报文,发送到虚拟接口。同理,VPN网关-A发出的报文经过相同操作,发送到VPN网关-B,最终IKE连接及IPSec采用虚拟IP地址建立成功;从而与VPN网关-A连接的公司总部内网主机可以与VPN网关-B连接的公司分部内网主机通信。
Claims (10)
1.一种IPSecNAT双向穿越方法,应用于包括本端VPN网关、本端NAT设备、对端VPN网关、对端NAT设备以及服务器的系统中,其特征在于,包括以下步骤:
A、在本端VPN网关与对端VPN网关中,分别创建一个虚拟接口;
B、本端VPN网关和对端VPN网关分别向所述服务器申请认证,在认证过程中所述服务器探测本端NAT设备和对端NAT设备的NAT类型;
C、在本端VPN网关和对端VPN网关通过所述服务器的认证后,所述服务器分别为所述本端VPN网关和对端VPN网关的虚拟接口分配虚拟IP地址;
D、所述本端VPN网关和对端VPN网关进行IPSecVPN相关配置,根据所述本端NAT设备和对端NAT设备的NAT类型,所述本端VPN网关和对端VPN网关之间发起IKE连接,建立IPSecVPN;
E、与本端VPN网关连接的主机通过所述IPSecVPN与连接到所述对端VPN网关的主机建立通信。
2.如权利要求1所述的IPSecNAT双向穿越方法,其特征在于,步骤B中,所述本端VPN网关和对端VPN网关分别向所述服务器申请认证,在认证过程中所述服务器探测所述本端NAT设备和对端NAT设备的NAT类型,具体包括:
B1、所述本端VPN网关和对端VPN网关分别通过所连接的NAT设备向所述服务器申请认证;
B2、所述本端NAT设备和对端NAT设备分别建立到所述服务器的NAT转发表项;
B3、所述服务器通过分别向所述本端NAT设备和对端NAT设备发起请求,探测所述本端NAT设备和对端NAT设备的NAT类型。
3.如权利要求1或2所述的IPSecNAT双向穿越方法,其特征在于,步骤D中,所述本端VPN网关和对端VPN网关进行IPSecVPN相关配置的方法,具体包括:
本端VPN网关将其IPSecVPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为any;所述对端VPN网关的IPSecVPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为所述本端VPN网关的虚拟IP地址;或者
本端VPN网关将其IPSecVPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为所述对端VPN网关的虚拟IP地址;所述对端VPN网关的IPSecVPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为any。
4.如权利要求1或2所述的IPSecNAT双向穿越方法,其特征在于,步骤D中,所述根据所述本端NAT设备和对端NAT设备的NAT类型,所述本端VPN网关和对端VPN网关之间发起IKE连接,具体包括:
当所连接的NAT设备的NAT类型为完全圆锥型FullConeNAT时,发起IKE连接的VPN网关直接利用自身的虚拟接口将IKE报文封装后发送到与目的VPN网关连接的NAT设备上,所述NAT设备直接将IKE报文发送给目的VPN网关;当NAT设备的NAT类型为非FullConeNAT时,发起IKE连接的VPN网关利用自身的虚拟接口将IKE报文封装后发送到服务器,服务器将所述IKE报文重新封装后发到与目的VPN网关连接的NAT设备上,所述NAT设备直接将所述重新封装后的IKE报文发送给目的VPN网关。
5.一种IPSecNAT双向穿越系统,包括本端VPN网关、本端NAT设备、对端VPN网关、对端NAT设备以及服务器,所述本端VPN网关通过本端NAT设备与所述服务器连接,所述对端VPN网关通过对端NAT设备与所述服务器连接,其特征在于,
所述本端VPN网关与对端VPN网关,分别用于在本地创建一个虚拟接口,并向所述服务器申请认证,在通过所述服务器的认证后,从所述服务器为本地虚拟接口获取虚拟IP地址,根据在认证过程中所述服务器探测到的与其连接的NAT设备的NAT类型,分别进行IPSecVPN相关配置并向另一端发起IKE连接从而建立IPSecVPN;
所述服务器,用于对所述本端VPN网关与对端VPN网关进行认证,在认证通过后为所述本端VPN网关与对端VPN网关的虚拟接口分配虚拟IP地址,并在认证过程中探测所述本端NAT设备和对端NAT设备的NAT类型。
6.如权利要求5所述的IPSecNAT双向穿越系统,其特征在于,所述本端NAT设备和对端NAT设备分别用于:在所述本端VPN网关与对端VPN网关向所述服务器申请认证过程中建立到所述服务器的NAT转发表项;并与另一端NAT设备进行通信。
7.如权利要求5或6所述的IPSecNAT双向穿越系统,其特征在于,所述本端VPN网关和对端VPN网关,具体用于:
本端VPN网关将其IPSecVPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为any时;所述对端VPN网关的IPSecVPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为所述本端VPN网关的虚拟IP地址;或者
本端VPN网关将其IPSecVPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为所述对端VPN网关的虚拟IP地址时;所述对端VPN网关的IPSecVPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为any。
8.如权利要求5或6所述的IPSecNAT双向穿越系统,其特征在于,所述本端VPN网关和对端VPN网关,具体用于:
当其所连接的NAT设备的NAT类型为完全圆锥型FullConeNAT时,发起IKE连接时直接利用其自身的虚拟接口将IKE报文封装后发送到与目的VPN网关连接的NAT设备上,由所述NAT设备直接将IKE报文发送给目的VPN网关;当其所连接NAT设备的NAT类型为非FullConeNAT时利用其自身的虚拟接口将IKE报文封装后发送到服务器,服务器将所述IKE报文重新封装后发到与目的VPN网关连接的NAT设备上,由所述NAT设备直接将所述重新封装后的IKE报文发送给目的VPN网关。
9.一种VPN网关,其特征在于,包括:
虚拟接口创建模块,用于在本地创建一个虚拟接口;
认证申请模块,用于向服务器申请认证,在认证通过后从服务器获取为其虚拟接口分配的虚拟IP地址;
IPSecVPN创建模块,用于进行IPsecVPN相关配置,根据在认证过程中所述服务器探测的与其连接的本端NAT设备和与目的VPN网关连接的目的NAT设备的NAT类型,与目的VPN网关发起IKE连接,建立IPSecVPN。
10.如权利要求9所述的VPN网关,其特征在于,IPSecVPN创建模块还用于:
当其所连接的NAT设备的NAT类型为完全圆锥型FullConeNAT时,发起IKE连接时直接利用其所在VPN网关自身的虚拟接口将IKE报文封装后发送到与目的VPN网关连接的目的NAT设备上,由所述目的NAT设备直接将IKE报文发送给目的VPN网关;当其所连接NAT设备的NAT类型为非FullConeNAT时,利用其所在VPN网关自身的虚拟接口将IKE报文封装后发送到服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510541143.8A CN105072213B (zh) | 2015-08-28 | 2015-08-28 | 一种IPSec NAT双向穿越方法、系统及VPN网关 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510541143.8A CN105072213B (zh) | 2015-08-28 | 2015-08-28 | 一种IPSec NAT双向穿越方法、系统及VPN网关 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105072213A true CN105072213A (zh) | 2015-11-18 |
CN105072213B CN105072213B (zh) | 2018-12-28 |
Family
ID=54501492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510541143.8A Active CN105072213B (zh) | 2015-08-28 | 2015-08-28 | 一种IPSec NAT双向穿越方法、系统及VPN网关 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105072213B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105872128A (zh) * | 2016-05-31 | 2016-08-17 | 浙江宇视科技有限公司 | 虚拟ip地址的分配方法及装置 |
CN107800603A (zh) * | 2017-07-31 | 2018-03-13 | 北京上和瑞科技有限公司 | 内网用户基于vpn 访问前端设备的方法和存储介质 |
CN108769292A (zh) * | 2018-06-29 | 2018-11-06 | 北京百悟科技有限公司 | 报文数据处理方法及装置 |
CN109600277A (zh) * | 2018-12-05 | 2019-04-09 | 杭州迪普科技股份有限公司 | 基于NAT设备的IPSec隧道保活方法和装置 |
CN109962989A (zh) * | 2017-12-25 | 2019-07-02 | 中国电信股份有限公司 | 穿越网络地址网关的方法、装置和系统 |
CN110086702A (zh) * | 2019-04-04 | 2019-08-02 | 杭州迪普科技股份有限公司 | 报文转发方法、装置、电子设备及机器可读存储介质 |
CN110380947A (zh) * | 2019-07-23 | 2019-10-25 | 深圳市启博科创有限公司 | 一种基于p2p技术的二级网络架构vpn组网方法 |
CN110383796A (zh) * | 2016-12-20 | 2019-10-25 | 华为技术有限公司 | 在会话初始化期间传送伪隧道信息的系统和方法 |
CN112929435A (zh) * | 2021-02-03 | 2021-06-08 | 胡轶翔 | 一种在ip层实现的跨内网通信方法及通信设备 |
CN114584528A (zh) * | 2020-11-17 | 2022-06-03 | 中国移动通信有限公司研究院 | 一种隧道建立方法、装置及设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060143702A1 (en) * | 2003-07-04 | 2006-06-29 | Nippon Telegraph And Telephone Corporation | Remote access vpn mediation method and mediation device |
CN2798428Y (zh) * | 2005-06-10 | 2006-07-19 | 深圳市科迈通讯技术有限公司 | 虚拟网络系统 |
CN101150519A (zh) * | 2007-10-30 | 2008-03-26 | 杭州华三通信技术有限公司 | 网络地址转换业务控制方法及装置 |
CN101557388A (zh) * | 2008-04-11 | 2009-10-14 | 中国科学院声学研究所 | 一种基于UPnP和STUN技术相结合的NAT穿越方法 |
CN101667918A (zh) * | 2009-10-15 | 2010-03-10 | 中国电信股份有限公司 | 协同工作的实现方法及其系统 |
WO2015027904A1 (en) * | 2013-08-30 | 2015-03-05 | Hangzhou H3C Technologies Co., Ltd. | Translating network address |
-
2015
- 2015-08-28 CN CN201510541143.8A patent/CN105072213B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060143702A1 (en) * | 2003-07-04 | 2006-06-29 | Nippon Telegraph And Telephone Corporation | Remote access vpn mediation method and mediation device |
CN2798428Y (zh) * | 2005-06-10 | 2006-07-19 | 深圳市科迈通讯技术有限公司 | 虚拟网络系统 |
CN101150519A (zh) * | 2007-10-30 | 2008-03-26 | 杭州华三通信技术有限公司 | 网络地址转换业务控制方法及装置 |
CN101557388A (zh) * | 2008-04-11 | 2009-10-14 | 中国科学院声学研究所 | 一种基于UPnP和STUN技术相结合的NAT穿越方法 |
CN101667918A (zh) * | 2009-10-15 | 2010-03-10 | 中国电信股份有限公司 | 协同工作的实现方法及其系统 |
WO2015027904A1 (en) * | 2013-08-30 | 2015-03-05 | Hangzhou H3C Technologies Co., Ltd. | Translating network address |
Non-Patent Citations (2)
Title |
---|
姜照林: "基于IPSec协议的VPN穿越NAT的研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
黄河涛: "家庭共享流媒体服务系统的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105872128B (zh) * | 2016-05-31 | 2019-03-08 | 浙江宇视科技有限公司 | 虚拟ip地址的分配方法及装置 |
CN105872128A (zh) * | 2016-05-31 | 2016-08-17 | 浙江宇视科技有限公司 | 虚拟ip地址的分配方法及装置 |
CN110383796B (zh) * | 2016-12-20 | 2021-08-03 | 华为技术有限公司 | 在会话初始化期间传送伪隧道信息的系统和方法 |
CN110383796A (zh) * | 2016-12-20 | 2019-10-25 | 华为技术有限公司 | 在会话初始化期间传送伪隧道信息的系统和方法 |
CN107800603A (zh) * | 2017-07-31 | 2018-03-13 | 北京上和瑞科技有限公司 | 内网用户基于vpn 访问前端设备的方法和存储介质 |
CN107800603B (zh) * | 2017-07-31 | 2018-11-09 | 北京上和瑞科技有限公司 | 内网用户基于vpn访问前端设备的方法和存储介质 |
CN109962989A (zh) * | 2017-12-25 | 2019-07-02 | 中国电信股份有限公司 | 穿越网络地址网关的方法、装置和系统 |
CN109962989B (zh) * | 2017-12-25 | 2022-03-01 | 中国电信股份有限公司 | 穿越网络地址网关的方法、装置和系统 |
CN108769292A (zh) * | 2018-06-29 | 2018-11-06 | 北京百悟科技有限公司 | 报文数据处理方法及装置 |
CN109600277A (zh) * | 2018-12-05 | 2019-04-09 | 杭州迪普科技股份有限公司 | 基于NAT设备的IPSec隧道保活方法和装置 |
CN109600277B (zh) * | 2018-12-05 | 2020-08-04 | 杭州迪普科技股份有限公司 | 基于NAT设备的IPSec隧道保活方法和装置 |
CN110086702A (zh) * | 2019-04-04 | 2019-08-02 | 杭州迪普科技股份有限公司 | 报文转发方法、装置、电子设备及机器可读存储介质 |
CN110086702B (zh) * | 2019-04-04 | 2021-09-21 | 杭州迪普科技股份有限公司 | 报文转发方法、装置、电子设备及机器可读存储介质 |
CN110380947A (zh) * | 2019-07-23 | 2019-10-25 | 深圳市启博科创有限公司 | 一种基于p2p技术的二级网络架构vpn组网方法 |
CN114584528A (zh) * | 2020-11-17 | 2022-06-03 | 中国移动通信有限公司研究院 | 一种隧道建立方法、装置及设备 |
CN112929435A (zh) * | 2021-02-03 | 2021-06-08 | 胡轶翔 | 一种在ip层实现的跨内网通信方法及通信设备 |
Also Published As
Publication number | Publication date |
---|---|
CN105072213B (zh) | 2018-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105072213A (zh) | 一种IPSec NAT双向穿越方法、系统及VPN网关 | |
US20190182155A1 (en) | Distributed Network Sharing And Traffic Isolation | |
CN105933198B (zh) | 一种建立直连vpn隧道的装置 | |
US9350608B2 (en) | Method and system for using virtual tunnel end-point registration and virtual network identifiers to manage virtual extensible local area network access | |
TWI549452B (zh) | 用於對虛擬私人網路之特定應用程式存取之系統及方法 | |
US20130103834A1 (en) | Multi-Tenant NATting for Segregating Traffic Through a Cloud Service | |
CN104427010A (zh) | 应用于动态虚拟专用网络的网络地址转换方法和装置 | |
CN103957287A (zh) | 一种基于nat穿透适配器的物联网设备p2p连接方法 | |
CN106534319A (zh) | 一种通过代理服务器直接访问目标服务器的方法 | |
KR20150079236A (ko) | 가상 사설망 게이트웨이 및 그의 보안 통신 방법 | |
CN104408777B (zh) | 一种基于nat穿越实现p2p通信的互联网考勤管理系统和方法 | |
CN101582856A (zh) | 一种门户服务器与宽带接入设备的会话建立方法及其系统 | |
CN110661858A (zh) | 基于websocket的内网穿透方法及系统 | |
Yoshikawa et al. | Evaluation of new CYPHONIC: Overlay network protocol based on Go language | |
JP2019050628A (ja) | ReNAT通信環境を提供するシステム及び方法 | |
CN104994113A (zh) | 一种adsl无线路由器及使用该路由器在桥接模式下实现强制门户的方法和系统 | |
CN106533984A (zh) | 一种社会资源的接入方法及装置 | |
CN109660459B (zh) | 一种物理网关及其复用ip地址的方法 | |
CN103516820A (zh) | 基于mac地址的端口映射方法和装置 | |
CN105430066A (zh) | 一种基于p2p技术的税控设备互联方法 | |
CN110620783B (zh) | 一种基于nat内网穿透的互联网络串口透传通信方法 | |
CN104683139A (zh) | 一种通信设备的远程操作维护方法 | |
Jing et al. | Study on VPN solution based on multi-campus network | |
CN104168171B (zh) | 接入点的访问方法及装置 | |
CN106506718A (zh) | 基于多重NAT纯IPv6网络的IVI过渡方法及网络系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |