CN105072213B - 一种IPSec NAT双向穿越方法、***及VPN网关 - Google Patents

一种IPSec NAT双向穿越方法、***及VPN网关 Download PDF

Info

Publication number
CN105072213B
CN105072213B CN201510541143.8A CN201510541143A CN105072213B CN 105072213 B CN105072213 B CN 105072213B CN 201510541143 A CN201510541143 A CN 201510541143A CN 105072213 B CN105072213 B CN 105072213B
Authority
CN
China
Prior art keywords
vpn gateway
nat
opposite end
address
vpn
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
CN201510541143.8A
Other languages
English (en)
Other versions
CN105072213A (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.)
Maipu Communication Technology Co Ltd
Original Assignee
Maipu Communication Technology 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 Maipu Communication Technology Co Ltd filed Critical Maipu Communication Technology Co Ltd
Priority to CN201510541143.8A priority Critical patent/CN105072213B/zh
Publication of CN105072213A publication Critical patent/CN105072213A/zh
Application granted granted Critical
Publication of CN105072213B publication Critical patent/CN105072213B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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/0485Networking 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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (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 NAT双向穿越方法、***及VPN网关
技术领域
本发明涉及网络技术,特别涉及基于IPSec(Internet Protocol Security,网络层安全)技术的NAT(Network Address Translation,网络地址转换)穿越技术。
背景技术
随着计算机网络的快速发展,IPv4面临地址耗尽的挑战,为了解决IPv4地址耗尽的问题,出现了一系列解决方案,例如IPv6、NAT等。而由于IPv6当前还未大面积普及,所以无疑NAT还需要扮演重要角色。正是由于IPv4地址紧缺,现在各大运营商已在ISP(InternetService Provider,网络服务提供商)网络里部署了NAT设备,客户从运营商获取的公网IP地址实际上是私网IP地址,而IPSec NAT穿越必须保证响应端具有真正的公网地址,现实中就会出现以下问题:某一大型集团公司要使用IPSec构建公司网络,若公司总部和分部获取的公网IP均是私网地址,则公司总部与分部就无法使用IPSec NAT穿越构建网络。目前NAT可以分为如下两大类型:
1、锥型NAT:只要是从相同内部IP地址和端口发出来的数据包,无论目的地址和端口是否相同,NAT都将它转换成1个外部地址和端口;
2、对称NAT:只有来自同一个内部地址和端口,且针对同一个目的地址和端口才会被转换成同一外部地址和端口,否则,NAT将重新分配一个新的端口;
其中锥形NAT又分为如下三类:
1)完全圆锥型(Full Cone)NAT:所有来自相同内部IP地址和端口的请求映射到相同的外部IP地址和端口,而不管这些请求是否属于同一个应用或者是多个应用的,任意一个外部主机均可随时通过该映射发送数据包;
2)地址限制圆锥型(Restricted Cone)NAT:它是完全圆锥型NAT的受限版本,所有来自相同内部IP地址和端口的请求映射到相同的外部IP地址和端口。但是,与完全圆锥型NAT不同的是,只有当内部主机先给外部主机发送数据包(假设数据包中该外部主机IP地址为Z),该外部主机才能以该映射中外部IP地址和端口为目标地址和目标端口向内部主机发送数据包,即NAT设备只向内转发那些来自于当前已知的外部主机(IP地址为Z)的数据包;
3)端口限制圆锥型(Port Restricted Cone)NAT:它是限制圆锥型NAT的进一步受限版,其只有当内部主机曾经发送过报文给外部主机(假设数据包中目的IP地址为z、端口为p)之后,外部主机才能以该映射中外部IP地址和端口为目标地址和目标端口向内部主机发送数据包(此时数据包的源端口必须为P、源IP地址必须为z)。
NAT使用范围越来越广,而IPSec NAT穿越却只能实现单向穿越,目前有一种STUN(Simple Traversal of UDP over NATs,NAT的UDP简单穿越)技术,是一种网络协议,它允许位于NAT(或多重NAT)后的客户端找出自己的公网地址,查出自己位于哪种类型的NAT之后以及NAT为某一个本地端口所绑定的Internet端端口。STUN旨在找到开放的对应公网地址和端口,从而其他用户可以通过与该公网地址和端口与真正的内网用户通信,但STUN无法解决IPSecNAT双向穿越的问题,且其存在以下不足:1、若公网地址变化,则STUN会导致网络中断;2、若私网地址变化,则STUN会导致网络中断;3、不同NAT类型,STUN无法实现开放公网NAT设备固定的TCP端口号。现有技术中STUN可以解决的问题仅是找出客户端对应的公网地址和NAT类型,无法实现IPSec NAT双向穿越。
发明内容
本发明的目的就是克服目前IPsec NAT无法双向穿越的缺点,提供一种IPSec NAT双向穿越方法、***及VPN网关。
本发明解决其技术问题,采用的技术方案是,一种IPSec NAT双向穿越方法,应用于包括本端VPN网关、本端NAT设备、对端VPN网关、对端NAT设备以及服务器的***中,其特征在于,包括以下步骤:
A、在本端VPN网关与对端VPN网关中,分别创建一个虚拟接口;
B、本端VPN网关和对端VPN网关分别向所述服务器申请认证,在认证过程中所述服务器探测本端NAT设备和对端NAT设备的NAT类型;
C、在本端VPN网关和对端VPN网关通过所述服务器的认证后,所述服务器分别为所述本端VPN网关和对端VPN网关的虚拟接口分配虚拟IP地址;
D、所述本端VPN网关和对端VPN网关进行IPSec VPN相关配置,根据所述本端NAT设备和对端NAT设备的NAT类型,所述本端VPN网关和对端VPN网关之间发起IKE连接,建立IPSec VPN;
E、与本端VPN网关连接的主机通过所述IPSec VPN与连接到所述对端VPN网关的主机建立通信。
具体的,步骤B中,所述本端VPN网关和对端VPN网关分别向所述服务器申请认证,在认证过程中所述服务器探测所述本端NAT设备和对端NAT设备的NAT类型,具体包括:
B1、所述本端VPN网关和对端VPN网关分别通过所连接的NAT设备向所述服务器申请认证;
B2、所述本端NAT设备和对端NAT设备分别建立到所述服务器的NAT转发表项;
B3、所述服务器通过分别向所述本端NAT设备和对端NAT设备发起请求,探测所述本端NAT设备和对端NAT设备的NAT类型。
进一步的,步骤D中,所述本端VPN网关和对端VPN网关进行IPSec VPN相关配置的方法,具体包括:
本端VPN网关将其IPSec VPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为any;所述对端VPN网关的IPSec VPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为所述本端VPN网关的虚拟IP地址;或者
本端VPN网关将其IPSec VPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为所述对端VPN网关的虚拟IP地址;所述对端VPN网关的IPSecVPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为any。
具体的,步骤D中,所述根据所述本端NAT设备和对端NAT设备的NAT类型,所述本端VPN网关和对端VPN网关之间发起IKE连接,具体包括:
当所连接的NAT设备的NAT类型为完全圆锥型Full Cone NAT时,发起IKE连接的VPN网关直接利用自身的虚拟接口将IKE报文封装后发送到与目的VPN网关连接的NAT设备上,所述NAT设备直接将IKE报文发送给目的VPN网关;当NAT设备的NAT类型为非Full ConeNAT时,发起IKE连接的VPN网关利用自身的虚拟接口将IKE报文封装后发送到服务器,服务器将所述IKE报文重新封装后发到与目的VPN网关连接的NAT设备上,所述NAT设备直接将所述重新封装后的IKE报文发送给目的VPN网关。
一种IPSec NAT双向穿越***,包括本端VPN网关、本端NAT设备、对端VPN网关、对端NAT设备以及服务器,所述本端VPN网关通过本端NAT设备与所述服务器连接,所述对端VPN网关通过对端NAT设备与所述服务器连接,其特征在于,
所述本端VPN网关与对端VPN网关,分别用于在本地创建一个虚拟接口,并向所述服务器申请认证,在通过所述服务器的认证后,从所述服务器为本地虚拟接口获取虚拟IP地址,根据在认证过程中所述服务器探测到的与其连接的NAT设备的NAT类型,分别进行IPSec VPN相关配置并向另一端发起IKE连接从而建立IPSec VPN;
所述服务器,用于对所述本端VPN网关与对端VPN网关进行认证,在认证通过后为所述本端VPN网关与对端VPN网关的虚拟接口分配虚拟IP地址,并在认证过程中探测所述本端NAT设备和对端NAT设备的NAT类型。
进一步的,所述本端NAT设备和对端NAT设备分别用于:在所述本端VPN网关与对端VPN网关向所述服务器申请认证过程中建立到所述服务器的NAT转发表项;并与另一端NAT设备进行通信。
具体的,所述本端VPN网关和对端VPN网关,具体用于:
本端VPN网关将其IPSec VPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为any时;所述对端VPN网关的IPSec VPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为所述本端VPN网关的虚拟IP地址;或者
本端VPN网关将其IPSec VPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为所述对端VPN网关的虚拟IP地址时;所述对端VPN网关的IPSecVPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为any。
再进一步的,所述本端VPN网关和对端VPN网关,具体用于:
当其所连接的NAT设备的NAT类型为完全圆锥型Full Cone NAT时,发起IKE连接时直接利用其自身的虚拟接口将IKE报文封装后发送到与目的VPN网关连接的NAT设备上,由所述NAT设备直接将IKE报文发送给目的VPN网关;当其所连接NAT设备的NAT类型为非FullCone NAT时利用其自身的虚拟接口将IKE报文封装后发送到服务器,服务器将所述IKE报文重新封装后发到与目的VPN网关连接的NAT设备上,由所述NAT设备直接将所述重新封装后的IKE报文发送给目的VPN网关。
一种VPN网关,其特征在于,包括:
虚拟接口创建模块,用于在本地创建一个虚拟接口;
认证申请模块,用于向服务器申请认证,在认证通过后从服务器获取为其虚拟接口分配的虚拟IP地址;
IPSec VPN创建模块,用于进行IPsec VPN相关配置,根据在认证过程中所述服务器探测的与其连接的本端NAT设备和与目的VPN网关连接的目的NAT设备的NAT类型,与目的VPN网关发起IKE连接,建立IPSec VPN。
具体的,IPSec VPN创建模块还用于:
当其所连接的NAT设备的NAT类型为完全圆锥型Full Cone NAT时,发起IKE连接时直接利用其所在VPN网关自身的虚拟接口将IKE报文封装后发送到与目的VPN网关连接的目的NAT设备上,由所述目的NAT设备直接将IKE报文发送给目的VPN网关;当其所连接NAT设备的NAT类型为非Full Cone NAT时,利用其所在VPN网关自身的虚拟接口将IKE报文封装后发送到服务器。
本发明的有益效果是,通过上述一种IPSec NAT双向穿越方法、***及VPN网关,实现了IPSec NAT的双向穿越,能够通过IPSec构建网络,另外,常规的IPSec虽然也能鉴别身份,但需要开销部分VPN设备的CPU资源和网络资源,而通过用户密码登录注册服务器的方式,保证接入网络设备的可靠性,节约了VPN设备的CPU和网络资源,且统一管理,由服务器统一管控所有VPN设备,实现地址统一分配,且由于报文长度有所增加,所以转发性能会有所降低,但重新封装后的报文是单纯的UDP报文,转发不会收到CPU的影响,使得转发性能高效,另外,不管运营商NAT设备的公网地址变化,还是用户VPN网关的公网地址(实际为私网)变化,使用虚拟IP地址实现动态切换,业务不会受到影响,方便用户。
附图说明
图1是本发明实施例的一种IPSec NAT双向穿越方法流程图;
图2是本发明实施例中IPsec NAT双向穿越***的***框图;
图3是本发明实施例中IPsec NAT双向穿越***的网络拓扑示意图。
具体实施方式
下面结合实施例及附图,详细描述本发明的技术方案。
本发明实施例提供一种IPSec NAT双向穿越方法,参见图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网关进行IPSec VPN相关配置,根据所述本端NAT设备和对端NAT设备的NAT类型,所述本端VPN网关和对端VPN网关之间发起IKE连接,建立IPSec VPN。本步骤中,所述本端VPN网关和对端VPN网关进行IPSec VPN相关配置的方法,具体包括:
本端VPN网关将其IPSec VPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为any;所述对端VPN网关的IPSec VPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为所述本端VPN网关的虚拟IP地址;或者
本端VPN网关将其IPSec VPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为所述对端VPN网关的虚拟IP地址;所述对端VPN网关的IPSecVPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为any。
而根据所述本端NAT设备和对端NAT设备的NAT类型,所述本端VPN网关和对端VPN网关之间发起IKE连接,具体包括:当所连接的NAT设备的NAT类型为完全圆锥型Full ConeNAT时,发起IKE连接的VPN网关直接利用自身的虚拟接口将IKE报文封装后发送到与目的VPN网关连接的NAT设备上,所述NAT设备直接将IKE报文发送给目的VPN网关;当NAT设备的NAT类型为非Full Cone NAT时,发起IKE连接的VPN网关利用自身的虚拟接口将IKE报文封装后发送到服务器,服务器将所述IKE报文重新封装后发到与目的VPN网关连接的NAT设备上,所述NAT设备直接将所述重新封装后的IKE报文发送给目的VPN网关。
105、与本端VPN网关连接的主机通过所述IPSec VPN与连接到所述对端VPN网关的主机建立通信。本步骤属于现有技术,不再赘述。
参见图2,为本发明实施例实施上述IPSec NAT双向穿越方法的***结构框图,包括本端VPN网关、本端NAT设备、对端VPN网关、对端NAT设备以及服务器,本端VPN网关通过本端NAT设备与服务器连接,对端VPN网关通过对端NAT设备与服务器连接,其中,本端VPN网关与对端VPN网关分别用于在本地创建一个虚拟接口,并向所述服务器申请认证,在通过所述服务器的认证后,从服务器为本地虚拟接口获取虚拟IP地址,根据在认证过程中所述服务器探测到的与其连接的NAT设备的NAT类型,分别进行IPSec VPN相关配置并向另一端发起IKE连接从而建立IPSec VPN;与本端VPN网关连接的主机通过所述IPSec VPN与连接到所述对端VPN网关的主机建立通信;服务器用于对本端VPN网关与对端VPN网关进行认证,在认证通过后为本端VPN网关与对端VPN网关的虚拟接口分配虚拟IP地址,并在认证过程中探测本端NAT设备和对端NAT设备的NAT类型。
这里,本端NAT设备和对端NAT设备分别用于:在本端VPN网关与对端VPN网关向服务器申请认证过程中建立到服务器的NAT转发表项;并与另一端NAT设备进行通信。本端VPN网关和对端VPN网关,还具体用于:本端VPN网关将其IPSec VPN的本地地址配置为服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为any时;所述对端VPN网关的IPSec VPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为所述本端VPN网关的虚拟IP地址;或者
本端VPN网关将其IPSec VPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为所述对端VPN网关的虚拟IP地址时;所述对端VPN网关的IPSecVPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为any。本端VPN网关和对端VPN网关,还具体用于:当其所连接的NAT设备的NAT类型为完全圆锥型Full Cone NAT时,发起IKE连接时直接利用其自身的虚拟接口将IKE报文封装后发送到与目的VPN网关连接的NAT设备上,由NAT设备直接将IKE报文发送给目的VPN网关;当其所连接NAT设备的NAT类型为非Full Cone NAT时利用其自身的虚拟接口将IKE报文封装后发送到服务器,服务器将该IKE报文重新封装后发到与目的VPN网关连接的NAT设备上,由该NAT设备直接将重新封装后的IKE报文发送给目的VPN网关。其中,向服务器获取虚拟IP地址是指:VPN网关登录服务器,采用简单用户/密码方式认证,认证成功后,服务器给VPN网关分配一个虚拟IP地址。NAT设备类型包括Full Cone NAT、Restricted Cone NAT、Port RestrictedCone NAT及对称NAT。
本实施例中,所使用的VPN网关,包括:虚拟接口创建模块,用于在本地创建一个虚拟接口;认证申请模块,用于向服务器申请认证,在认证通过后从服务器获取为其虚拟接口分配的虚拟IP地址;IPSec VPN创建模块,用于进行IPsec VPN相关配置,根据在认证过程中所述服务器探测的与其连接的本端NAT设备和与目的VPN网关连接的目的NAT设备的NAT类型,与目的VPN网关发起IKE连接,建立IPSec VPN。
其中,IPSec VPN创建模块还用于:
当其所连接的NAT设备的NAT类型为完全圆锥型Full Cone NAT时,发起IKE连接时直接利用其所在VPN网关自身的虚拟接口将IKE报文封装后发送到与目的VPN网关连接的目的NAT设备上,由所述目的NAT设备直接将IKE报文发送给目的VPN网关;当其所连接NAT设备的NAT类型为非Full Cone NAT时,利用其所在VPN网关自身的虚拟接口将IKE报文封装后发送到服务器。
参见图3,为是本发明实施例中IPsec NAT双向穿越***的网络拓扑示意图;图中,整个***由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设备的类型(如Full Cone NAT、Restricted Cone NAT、Port Restricted Cone NAT或对称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为Full Cone NAT;
步骤3、当前一种方式无法通信,若2.1.1.3:3001可以通过2.1.1.1:3000将报文发送到VPN网关-A,则NAT为Restricted Cone NAT;
步骤4、当前两种方式无法通信,若2.1.1.3:3000可以通过2.1.1.1:3000将报文发送到VPN网关-A,则NAT为Port Restricted Cone NAT;
步骤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分别配置IPsec VPN的相关配置,VPN网关-A的本地地址(local address)写成自己设备的虚拟IP地址1.1.1.1,对端地址(peer address)写成any,分部VPN网关-B的local address写成自己设备的虚拟IP地址1.1.1.2,peer address写成对端设备的虚拟IP地址1.1.1.1。这里是为了节省VPN的配置才这样做的,与总部内网连接的VPN网关在配置IPsec VPN时将peer address)写成any;实际上也可以写为对端设备的虚拟IP地址1.1.1.2。
当VPN网关-B发起IKE连接请求时:
1、若运营商NAT设备-A类型为Full Cone NAT,则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类型为Restricted Cone NAT、Port Restricted ConeNAT、对称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 (8)

1.一种IPSec NAT双向穿越方法,应用于包括本端VPN网关、本端NAT设备、对端VPN网关、对端NAT设备以及服务器的***中,其特征在于,包括以下步骤:
A、在本端VPN网关与对端VPN网关中,分别创建一个虚拟接口;
B、本端VPN网关和对端VPN网关分别向所述服务器申请认证,在认证过程中所述服务器探测本端NAT设备和对端NAT设备的NAT类型;
C、在本端VPN网关和对端VPN网关通过所述服务器的认证后,所述服务器分别为所述本端VPN网关和对端VPN网关的虚拟接口分配虚拟IP地址;
D、所述本端VPN网关和对端VPN网关进行IPSec VPN相关配置,根据所述本端NAT设备和对端NAT设备的NAT类型,所述本端VPN网关和对端VPN网关之间发起IKE连接,建立IPSecVPN;其中,所述本端VPN网关和对端VPN网关进行IPSec VPN相关配置的方法,具体包括:
本端VPN网关将其IPSec VPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为any;所述对端VPN网关的IPSec VPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为所述本端VPN网关的虚拟IP地址;或者,
本端VPN网关将其IPSec VPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为所述对端VPN网关的虚拟IP地址;所述对端VPN网关的IPSec VPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为any;
E、与本端VPN网关连接的主机通过所述IPSec VPN与连接到所述对端VPN网关的主机建立通信。
2.如权利要求1所述的IPSec NAT双向穿越方法,其特征在于,步骤B中,所述本端VPN网关和对端VPN网关分别向所述服务器申请认证,在认证过程中所述服务器探测所述本端NAT设备和对端NAT设备的NAT类型,具体包括:
B1、所述本端VPN网关和对端VPN网关分别通过所连接的NAT设备向所述服务器申请认证;
B2、所述本端NAT设备和对端NAT设备分别建立到所述服务器的NAT转发表项;
B3、所述服务器通过分别向所述本端NAT设备和对端NAT设备发起请求,探测所述本端NAT设备和对端NAT设备的NAT类型。
3.如权利要求1或2所述的IPSec NAT双向穿越方法,其特征在于,步骤D中,所述根据所述本端NAT设备和对端NAT设备的NAT类型,所述本端VPN网关和对端VPN网关之间发起IKE连接,具体包括:
当所连接的NAT设备的NAT类型为完全圆锥型Full Cone NAT时,发起IKE连接的VPN网关直接利用自身的虚拟接口将IKE报文封装后发送到与目的VPN网关连接的NAT设备上,所述NAT设备直接将IKE报文发送给目的VPN网关;当NAT设备的NAT类型为非Full Cone NAT时,发起IKE连接的VPN网关利用自身的虚拟接口将IKE报文封装后发送到服务器,服务器将所述IKE报文重新封装后发到与目的VPN网关连接的NAT设备上,所述NAT设备直接将所述重新封装后的IKE报文发送给目的VPN网关。
4.一种IPSec NAT双向穿越***,包括本端VPN网关、本端NAT设备、对端VPN网关、对端NAT设备以及服务器,所述本端VPN网关通过本端NAT设备与所述服务器连接,所述对端VPN网关通过对端NAT设备与所述服务器连接,其特征在于,
所述本端VPN网关与对端VPN网关,分别用于在本地创建一个虚拟接口,并向所述服务器申请认证,在通过所述服务器的认证后,从所述服务器为本地虚拟接口获取虚拟IP地址,根据在认证过程中所述服务器探测到的与其连接的NAT设备的NAT类型,分别进行IPSecVPN相关配置并向另一端发起IKE连接从而建立IPSec VPN;
所述本端VPN网关和对端VPN网关,具体还用于:
本端VPN网关将其IPSec VPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为any;所述对端VPN网关的IPSec VPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为所述本端VPN网关的虚拟IP地址;或者,
本端VPN网关将其IPSec VPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为所述对端VPN网关的虚拟IP地址;所述对端VPN网关的IPSec VPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为any;
所述服务器,用于对所述本端VPN网关与对端VPN网关进行认证,在认证通过后为所述本端VPN网关与对端VPN网关的虚拟接口分配虚拟IP地址,并在认证过程中探测所述本端NAT设备和对端NAT设备的NAT类型。
5.如权利要求4所述的IPSec NAT双向穿越***,其特征在于,所述本端NAT设备和对端NAT设备分别用于:在所述本端VPN网关与对端VPN网关向所述服务器申请认证过程中建立到所述服务器的NAT转发表项;并与另一端NAT设备进行通信。
6.如权利要求4或5所述的IPSec NAT双向穿越***,其特征在于,所述本端VPN网关和对端VPN网关,具体用于:
当其所连接的NAT设备的NAT类型为完全圆锥型Full Cone NAT时,发起IKE连接时直接利用其自身的虚拟接口将IKE报文封装后发送到与目的VPN网关连接的NAT设备上,由所述NAT设备直接将IKE报文发送给目的VPN网关;当其所连接NAT设备的NAT类型为非Full ConeNAT时利用其自身的虚拟接口将IKE报文封装后发送到服务器,服务器将所述IKE报文重新封装后发到与目的VPN网关连接的NAT设备上,由所述NAT设备直接将所述重新封装后的IKE报文发送给目的VPN网关。
7.一种VPN网关,其特征在于,包括:
虚拟接口创建模块,用于在本地创建一个虚拟接口;
认证申请模块,用于向服务器申请认证,在认证通过后从服务器获取为其虚拟接口分配的虚拟IP地址;
IPSec VPN创建模块,用于进行IPsec VPN相关配置,根据在认证过程中所述服务器探测的与其连接的本端NAT设备和与目的VPN网关连接的目的NAT设备的NAT类型,与目的VPN网关发起IKE连接,建立IPSec VPN;
所述进行IPsec VPN相关配置,具体为:
当该VPN网关为本端VPN网关时,将其IPSec VPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为any;当该VPN网关为对端VPN网关时,将其IPSecVPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为对应本端VPN网关的虚拟IP地址;或者,
当该VPN网关为本端VPN网关时,将其IPSec VPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为对应对端VPN网关的虚拟IP地址;当该VPN网关为对端VPN网关时,将其IPSec VPN的本地地址配置为所述服务器为其虚拟接口分配的虚拟IP地址,对端地址配置为any。
8.如权利要求7所述的VPN网关,其特征在于,IPSec VPN创建模块还用于:
当其所连接的NAT设备的NAT类型为完全圆锥型Full Cone NAT时,发起IKE连接时直接利用其所在VPN网关自身的虚拟接口将IKE报文封装后发送到与目的VPN网关连接的目的NAT设备上,由所述目的NAT设备直接将IKE报文发送给目的VPN网关;当其所连接NAT设备的NAT类型为非Full Cone NAT时,利用其所在VPN网关自身的虚拟接口将IKE报文封装后发送到服务器。
CN201510541143.8A 2015-08-28 2015-08-28 一种IPSec NAT双向穿越方法、***及VPN网关 Active CN105072213B (zh)

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 CN105072213A (zh) 2015-11-18
CN105072213B true 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)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105872128B (zh) * 2016-05-31 2019-03-08 浙江宇视科技有限公司 虚拟ip地址的分配方法及装置
CN110383796B (zh) * 2016-12-20 2021-08-03 华为技术有限公司 在会话初始化期间传送伪隧道信息的***和方法
CN107800603B (zh) * 2017-07-31 2018-11-09 北京上和瑞科技有限公司 内网用户基于vpn访问前端设备的方法和存储介质
CN109962989B (zh) * 2017-12-25 2022-03-01 中国电信股份有限公司 穿越网络地址网关的方法、装置和***
CN108769292B (zh) * 2018-06-29 2021-04-13 北京百悟科技有限公司 报文数据处理方法及装置
CN109600277B (zh) * 2018-12-05 2020-08-04 杭州迪普科技股份有限公司 基于NAT设备的IPSec隧道保活方法和装置
CN110086702B (zh) * 2019-04-04 2021-09-21 杭州迪普科技股份有限公司 报文转发方法、装置、电子设备及机器可读存储介质
CN110380947B (zh) * 2019-07-23 2021-10-22 深圳市启博科创有限公司 一种基于p2p技术的二级网络架构和vpn组网方法
CN114584528A (zh) * 2020-11-17 2022-06-03 ***通信有限公司研究院 一种隧道建立方法、装置及设备
CN112929435A (zh) * 2021-02-03 2021-06-08 胡轶翔 一种在ip层实现的跨内网通信方法及通信设备

Citations (6)

* Cited by examiner, † Cited by third party
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
基于IPSec协议的VPN穿越NAT的研究与实现;姜照林;《中国优秀硕士学位论文全文数据库 信息科技辑》;20120615;全文 *
家庭共享流媒体服务***的设计与实现;黄河涛;《中国优秀硕士学位论文全文数据库 信息科技辑》;20130115;正文第16-18、46-48页 *

Also Published As

Publication number Publication date
CN105072213A (zh) 2015-11-18

Similar Documents

Publication Publication Date Title
CN105072213B (zh) 一种IPSec NAT双向穿越方法、***及VPN网关
CN105933198B (zh) 一种建立直连vpn隧道的装置
CN105637805B (zh) 增强移动备用信道以解决有线线路网络中的节点故障
EP3195566B1 (en) Service layer interworking using mqtt protocol
CN105471596B (zh) 网络管理的方法和装置
US9231918B2 (en) Use of virtual network interfaces and a websocket based transport mechanism to realize secure node-to-site and site-to-site virtual private network solutions
CN112997463B (zh) 用于跨公用互联网的服务器集群网络通信的***和方法
TWI549452B (zh) 用於對虛擬私人網路之特定應用程式存取之系統及方法
US9258271B1 (en) Network address translation for virtual machines
CN104427010A (zh) 应用于动态虚拟专用网络的网络地址转换方法和装置
CN103688516B (zh) 提供公共可达性的方法和有关***与装置
CN105025044A (zh) 一种设备控制方法及***
CN102739684A (zh) 一种基于虚拟IP地址的Portal认证方法及服务器
TW201635164A (zh) 利用公有雲端網路的方法、私有雲端路由伺服器及智慧型裝置客戶端
US11283784B2 (en) Peer to peer communication in ad-hoc and cloaked networks
CN110311894A (zh) 一种局域网内部动态穿透的方法
CN106604119A (zh) 一种用于智能电视私有云设备的网络穿透方法及***
CN104408777A (zh) 一种基于nat穿越实现p2p通信的互联网考勤管理***和方法
US9419921B1 (en) Network address translation for virtual machines
US20220217126A1 (en) Apparatus and method for secure router device
TWI537744B (zh) 不利用公用雲端型路由伺服器之私有雲端路由伺服器、私有網路服務及智慧型裝置客戶端架構
CN109246016A (zh) 跨vxlan的报文处理方法和装置
CN104168302B (zh) 设备操控实现方法、***和代理网关
CN104426735B (zh) 一种建立虚拟专用网络连接的方法及装置
CN107547621A (zh) 一种报文转发方法及装置

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