CN114024741B - 请求处理方法、装置、流量代理端、设备及可读存储介质 - Google Patents

请求处理方法、装置、流量代理端、设备及可读存储介质 Download PDF

Info

Publication number
CN114024741B
CN114024741B CN202111294602.9A CN202111294602A CN114024741B CN 114024741 B CN114024741 B CN 114024741B CN 202111294602 A CN202111294602 A CN 202111294602A CN 114024741 B CN114024741 B CN 114024741B
Authority
CN
China
Prior art keywords
intranet
address
request
identifier
external network
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
CN202111294602.9A
Other languages
English (en)
Other versions
CN114024741A (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.)
Sangfor Technologies Co Ltd
Original Assignee
Sangfor Technologies 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 Sangfor Technologies Co Ltd filed Critical Sangfor Technologies Co Ltd
Priority to CN202111294602.9A priority Critical patent/CN114024741B/zh
Publication of CN114024741A publication Critical patent/CN114024741A/zh
Application granted granted Critical
Publication of CN114024741B publication Critical patent/CN114024741B/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
    • 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/0281Proxies
    • 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)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General 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地址,并基于内网标识确定响应包该传回给哪个内网。本申请提供的一种请求处理装置、流量代理端、设备及可读存储介质,也同样具有上述技术效果。

Description

请求处理方法、装置、流量代理端、设备及可读存储介质
技术领域
本申请涉及计算机技术领域,特别涉及一种请求处理方法、装置、流量代理端、设备及可读存储介质。
背景技术
目前,若流量代理端同时管理有多个内网,则在不同内网中的终端虚拟IP地址冲突时,会存在如下问题:代理端在收到响应包时,面临“将当前响应包传输至哪个内网”的问题,由于代理端处理响应包时会忽视内网的公网IP地址,那么在不同内网中的两个终端的虚拟IP地址相同的情况下,代理端就无法判别当前响应包的接收端,导致丢包,网络不稳定。
因此,在不同内网中的终端虚拟IP地址冲突时,如何降低丢包率,是本领域技术人员需要解决的问题。
发明内容
有鉴于此,本申请的目的在于提供一种请求处理方法、装置、流量代理端、设备及可读存储介质,以在不同内网中的终端虚拟IP地址冲突时,使流量代理端明确确定响应包的接收端,降低丢包率。其具体方案如下:
第一方面,本申请提供了一种请求处理方法,应用于流量代理端,包括:
若接收到目标内网中的目标终端访问外网的请求密文,则解密所述请求密文得到请求明文,并确定所述目标内网的内网标识;所述内网标识由所述流量代理端预先为所述目标内网配置;
将所述请求明文中的源IP地址,由所述目标终端的内网虚拟IP地址转换为所述流量代理端的公网IP地址,得到新请求明文;
将所述新请求明文传输至所述外网,并记录所述内网标识、所述内网虚拟IP地址以及外网信息,以便在接收到所述外网返回的响应数据的情况下,基于所述内网标识、所述内网虚拟IP地址以及所述外网信息传输所述响应数据至所述目标终端。
优选地,所述确定所述目标内网的内网标识,包括:
基于所述请求密文中的、用于标记内网的字段查询所述内网标识。
优选地,所述记录所述内网标识、所述内网虚拟IP地址以及外网信息,包括:
创建目标会话,并将所述内网标识、所述内网虚拟IP地址以及所述外网信息记录至所述目标会话;所述外网信息为所述外网的公网IP地址。
优选地,所述在接收到所述外网返回的响应数据的情况下,基于所述内网标识、所述内网虚拟IP地址以及所述外网信息传输所述响应数据至所述目标终端,包括:
若接收到所述响应数据,则基于所述响应数据中的所述外网信息查询得到所述内网标识和所述内网虚拟IP地址;
将所述响应数据中的目的地址,由所述流量代理端的公网IP地址转换为所述内网虚拟IP地址,得到新响应数据;
加密所述新响应数据得到响应密文,并基于所述内网标识将所述响应密文传输至所述目标终端。
优选地,所述将所述新请求明文传输至所述外网之前,还包括:
对所述新请求明文进行安全检测和/或流量统计。
第二方面,本申请提供了一种请求处理装置,应用于流量代理端,包括:
解密模块,用于若接收到目标内网中的目标终端访问外网的请求密文,则解密所述请求密文得到请求明文,并确定所述目标内网的内网标识;所述内网标识由所述流量代理端预先为所述目标内网配置;
源地址转换模块,用于将所述请求明文中的源IP地址,由所述目标终端的内网虚拟IP地址转换为所述流量代理端的公网IP地址,得到新请求明文;
传输模块,用于将所述新请求明文传输至所述外网,并记录所述内网标识、所述内网虚拟IP地址以及外网信息,以便在接收到所述外网返回的响应数据的情况下,基于所述内网标识、所述内网虚拟IP地址以及外网信息传输所述响应数据至所述目标终端。
第三方面,本申请提供了一种流量代理端,包括:IPsec服务器和地址转换服务器,其中:
所述IPsec服务器,用于通过IPsec隧道接收目标内网中的目标终端访问外网的请求密文,解密所述请求密文得到请求明文,确定所述目标内网的内网标识,将所述请求明文和所述内网标识传输至所述地址转换服务器;所述内网标识由所述流量代理端预先为所述目标内网配置;
所述地址转换服务器,用于将所述请求明文中的源IP地址,由所述目标终端的内网虚拟IP地址转换为所述流量代理端的公网IP地址,得到新请求明文;将所述新请求明文传输至所述外网,并记录所述内网标识、所述内网虚拟IP地址以及外网信息;在接收到所述外网返回的响应数据的情况下,基于所述响应数据中的所述外网信息查询得到所述内网标识和所述内网虚拟IP地址;将所述响应数据中的目的IP地址,由所述流量代理端的公网IP地址转换为所述内网虚拟IP地址,得到新响应数据,并将所述新响应数据和所述内网标识至所述IPsec服务器;
所述IPsec服务器,还用于加密所述新响应数据得到响应密文,并基于所述内网标识将所述响应密文传输至所述目标终端。
优选地,所述IPsec隧道建立于所述流量代理端与所述目标终端中的IPsec客户端之间,或建立于所述流量代理端与所述目标内网中的、与所述目标终端连接的IPsec网关之间。
优选地,所述IPsec服务器具体用于:按照预设协议封装所述请求明文和所述内网标识,得到封装报文,并将所述封装报文传输至所述地址转换服务器;
相应地,
所述地址转换服务器具体用于:按照所述预设协议解析所述封装报文,得到所述请求明文和所述内网标识。
第四方面,本申请提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现前述公开的请求处理方法。
第五方面,本申请提供了一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的请求处理方法。
通过以上方案可知,本申请提供了一种请求处理方法,应用于流量代理端,包括:若接收到目标内网中的目标终端访问外网的请求密文,则解密所述请求密文得到请求明文,并确定所述目标内网的内网标识;所述内网标识由所述流量代理端预先为所述目标内网配置;将所述请求明文中的源IP地址,由所述目标终端的内网虚拟IP地址转换为所述流量代理端的公网IP地址,得到新请求明文;将所述新请求明文传输至所述外网,并记录所述内网标识、所述内网虚拟IP地址以及外网信息,以便在接收到所述外网返回的响应数据的情况下,基于所述内网标识、所述内网虚拟IP地址以及外网信息传输所述响应数据至所述目标终端。
可见,本申请提供的流量代理端在接收到目标内网中的目标终端访问外网的请求密文后,先解密请求密文得到请求明文,并确定目标内网的内网标识,然后将请求明文中的源IP地址,由目标终端的内网虚拟IP地址转换为流量代理端的公网IP地址,得到新请求明文,最后将新请求明文传输至外网,并记录内网标识、内网虚拟IP地址以及外网信息,那么在流量代理端接收到外网返回的响应数据的情况下,就可以根据响应数据中的外网信息确定相应的内网标识、内网虚拟IP地址,然后修改响应数据中的目的地址为内网虚拟IP地址,同时基于内网标识确定当前响应数据需要传回给哪个内网,从而可解决“将当前响应包传输至哪个内网”的问题,降低了丢包率。
相应地,本申请提供的一种请求处理装置、流量代理端、设备及可读存储介质,也同样具有上述技术效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种请求处理方法流程图;
图2为本申请公开的另一种请求处理方法流程图;
图3为本申请公开的一种请求处理装置示意图;
图4为本申请公开的一种数据流转示意图;
图5为本申请公开的一种电子设备示意图;
图6为本申请公开的另一种电子设备示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,若流量代理端同时管理有多个内网,则在不同内网中的终端虚拟IP地址冲突时,会存在如下问题:代理端在收到响应包时,面临“将当前响应包传输至哪个内网”的问题,由于代理端处理响应包时会忽视内网的公网IP地址,那么在不同内网中的两个终端的虚拟IP地址相同的情况下,代理端就无法判别当前响应包的接收端,导致丢包,网络不稳定。为此,本申请提供了一种请求处理方案,能够使流量代理端应对不同内网中的终端虚拟IP地址冲突问题,降低丢包率。
参见图1所示,本申请实施例公开了一种请求处理方法,应用于流量代理端,包括:
S101、接收目标内网中的目标终端访问外网的请求密文。
在本实施例中,流量代理端是内网与外网之间的流量转发站,其中部署有流量转发、流量分析、流量审计等功能。
在一种具体实施方式中,流量代理端可以是基于IPsec(Internet Protocolsecurity)的VPN(Virtual Private Network,虚拟专用网络)代理端。基于IPsec的VPN代理端可以与多个内网建立IPsec隧道,也即:此代理端通过IPsec协议与各内网进行数据交互。目标内网为与该代理端建立有IPsec隧道的多个内网或某一个内网,目标终端为目标内网中的一个或多个终端。当目标内网和/或目标终端有多个时,请求密文自然为多个,那么针对每一个请求密文,都可以按照S102-S104进行处理。
当然,流量代理端可以与各内网通过其他协议和相应加密方式进行数据交互。
基于IPsec的VPN代理端可基于strongswan进行IPsec配置。strongswan是一个linux平台下的IPsec开源解决方案,其使用IKEv1或IKEv2协商配置信息并下发到内核,由linux内核的xfrm框架处理实际的IPsec流量。
在一种具体实施方式中,IPsec隧道建立于流量代理端与目标终端中的IPsec客户端之间,或建立于流量代理端与目标内网中的、与目标终端连接的IPsec网关之间。IPsec网关即:部署有IPsec相关配置的网关。
若内网里的终端上安装有IPsec客户端,那么该终端可以直接与流量代理端建立IPsec隧道,此时可以让安装有IPsec客户端的终端直接与流量代理端通信。若流量需要经过内网网关转发,则可以不用在内网网关上部署IPsec的相关配置。当然,内网网关上部署IPsec的相关配置也无妨。内网网关可基于strongswan进行IPsec配置。
S102、解密请求密文得到请求明文,并确定目标内网的内网标识。
在流量代理端基于IPsec与各内网通信的前提下,由内网发出的数据是密文,而流量代理端发给各内网的数据也是密文。但是,流量代理端可以与外网进行明文交互。
若流量代理端与各内网建立IPsec隧道,则在任一个内网首次接入流量代理端,则流量代理端为该内网分配一个内网标识,并将其记录在xfrm_state中,此时该内网无需做任何更改,也无需记录该内网标识;后续发请求给流量代理端时,也按照通用方式进行发送。xfrm是一个实现IPsec协议的linux内核IP层框架。xfrm_state是xfrm提供的一个文件。可见,内网标识由流量代理端预先为目标内网配置得到。
其中,以IPsec协议传输的ESP(Encapsulating Security Payload)报文中有spi字段,该spi字段为安全参数索引,用于指示不同内网。因此在一种具体实施方式中,确定目标内网的内网标识,包括:基于请求密文中的、用于标记内网的字段(如:IPsec的spi字段)查询内网标识。
相应地,若流量代理端与各内网通过其他协议通信,则在任一个内网首次接入流量代理端,则流量代理端也为该内网分配一个内网标识,此时该内网也无需做任何更改,更无需记录该内网标识;后续发请求给流量代理端时,也按照通用方式进行发送。
可见,无论流量代理端与各内网通过哪种协议通信,内网标识都由流量代理端预先为目标内网配置得到。流量代理端为保护内网数据,优选与各内网进行密文通信。
S103、将请求明文中的源IP地址,由目标终端的内网虚拟IP地址转换为流量代理端的公网IP地址,得到新请求明文。
S104、将新请求明文传输至外网,并记录内网标识、内网虚拟IP地址以及外网信息,以便在接收到外网返回的响应数据的情况下,基于内网标识、内网虚拟IP地址以及外网信息传输响应数据至目标终端。
其中,记录内网标识、内网虚拟IP地址以及外网信息,同时需要记录当前请求的接收端信息(外网的公网IP地址、接收端口等),以便在接收到响应时基于响应的源地址(即外网地址信息)定位相对应的内网标识和内网虚拟IP地址,因此在一种具体实施方式中,记录内网标识、内网虚拟IP地址以及外网信息,包括:创建目标会话,并将内网标识、内网虚拟IP地址以及外网信息记录至目标会话;外网信息为外网的公网IP地址。当然,目标会话还可以记录目标终端发送请求使用的端口号、外网的接收端口号、流量代理端的公网IP地址以及流量代理端的发送端口号等。
由于流量代理端是内网与外网之间的中转站,因此流量代理端还可以对流经自身的流量进行检查,如:统计流量特征和流量大小、检测病毒等。因此在一种具体实施方式中,将新请求明文传输至外网之前,还包括:对新请求明文进行安全检测和/或流量统计。安全检测如:病毒检测、钓鱼网站检测等。流量统计如:流量大小统计、流量特征统计等。
在本实施例中,流量代理端在接收到目标内网中的目标终端访问外网的请求密文后,先解密请求密文得到请求明文,并确定目标内网的内网标识,然后将请求明文中的源IP地址,由目标终端的内网虚拟IP地址转换为流量代理端的公网IP地址,得到新请求明文,最后将新请求明文传输至外网,并记录内网标识、内网虚拟IP地址以及外网信息,那么在流量代理端接收到外网返回的响应数据的情况下,就可以修改响应数据中的目的地址为内网虚拟IP地址,同时基于内网标识确定当前响应数据需要传回给哪个内网,从而可解决“将当前响应包传输至哪个内网”的问题,降低了丢包率。
基于上述实施例,需要说明的是,在接收到外网返回的响应数据的情况下,基于内网标识、内网虚拟IP地址以及外网信息传输响应数据至目标终端,包括:
S201、若接收到响应数据,则基于响应数据中的外网信息查询得到内网标识和内网虚拟IP地址;
S202、将响应数据中的目的地址,由流量代理端的公网IP地址转换为内网虚拟IP地址,得到新响应数据;
S203、加密新响应数据得到响应密文,并基于内网标识将响应密文传输至目标终端。
具体的,在请求发送阶段,目标会话中至少可以记录:内网标识、内网虚拟IP地址和外网的公网IP地址,那么在接收到响应数据后,可解析响应数据得到发送响应数据的源端地址(即外网的公网IP地址),那么基于外网的公网IP地址可查询相对应的内网标识和内网虚拟IP地址,查询到的内网标识和内网虚拟IP地址即为:该响应对应的请求发送端的信息。之后将响应数据中的目的地址由流量代理端的公网IP地址转换为内网虚拟IP地址,得到新响应数据;加密新响应数据得到响应密文,并基于内网标识将响应密文传输至目标终端,即可完成响应的回传。
其中,响应数据由外网发送至流量代理端,因此其中的源IP地址为外网的公网IP地址,目的IP地址为流量代理端的公网IP地址。
下面对本申请实施例提供的一种请求处理装置进行介绍,下文描述的一种请求处理装置与上文描述的一种请求处理方法可以相互参照。
参见图3所示,本申请实施例公开了一种请求处理装置,应用于流量代理端,包括:
解密模块301,用于若通过IPsec隧道接收到目标内网中的目标终端访问外网的请求密文,则解密请求密文得到请求明文,并确定目标内网的内网标识;内网标识由流量代理端预先为目标内网配置;
源地址转换模块302,用于将请求明文中的源IP地址,由目标终端的内网虚拟IP地址转换为流量代理端的公网IP地址,得到新请求明文;
传输模块303,用于将新请求明文传输至外网,并记录内网标识、内网虚拟IP地址以及外网信息,以便在接收到外网返回的响应数据的情况下,基于内网标识、内网虚拟IP地址以及外网信息传输响应数据至目标终端。
在一种具体实施方式中,解密模块具体用于:
基于请求密文中的、用于标记内网的字段查询内网标识。
在一种具体实施方式中,传输模块具体用于:
创建目标会话,并将内网标识、内网虚拟IP地址以及外网信息记录至目标会话;外网信息为外网的公网IP地址。
在一种具体实施方式中,传输模块具体用于:
若接收到响应数据,则基于所述响应数据中的所述外网信息查询得到所述内网标识和所述内网虚拟IP地址;
将响应数据中的目的地址,由流量代理端的公网IP地址转换为内网虚拟IP地址,得到新响应数据;
加密新响应数据得到响应密文,并基于内网标识将响应密文传输至目标终端。
在一种具体实施方式中,还包括:
流量审计模块,用于对新请求明文进行安全检测和/或流量统计。
其中,关于本实施例中各个模块、单元更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本实施例提供了一种请求处理装置,该装置能够解决“将当前响应包传输至哪个内网”的问题,降低丢包率。
下面对本申请实施例提供的一种流量代理端进行介绍,下文描述的一种流量代理端与上文描述的一种请求处理方法及装置可以相互参照。
本申请实施例公开了一种流量代理端,该流量代理端具备VPN功能,包括:IPsec服务器和地址转换服务器,其中:
IPsec服务器,用于接收目标内网中的目标终端访问外网的请求密文,解密请求密文得到请求明文,确定目标内网的内网标识,将请求明文和内网标识传输至地址转换服务器;内网标识由流量代理端预先为目标内网配置;
地址转换服务器,用于将所述请求明文中的源IP地址,由所述目标终端的内网虚拟IP地址转换为所述流量代理端的公网IP地址,得到新请求明文;将所述新请求明文传输至所述外网,并记录所述内网标识、所述内网虚拟IP地址以及外网信息;在接收到所述外网返回的响应数据的情况下,基于所述响应数据中的所述外网信息查询得到所述内网标识和所述内网虚拟IP地址;将所述响应数据中的目的IP地址,由所述流量代理端的公网IP地址转换为所述内网虚拟IP地址,得到新响应数据,并将所述新响应数据和所述内网标识至所述IPsec服务器;
IPsec服务器,还用于加密新响应数据得到响应密文,并基于内网标识将响应密文传输至目标终端。
在一种具体实施方式中,IPsec服务器具体用于:按照预设协议封装请求明文和内网标识,得到封装报文,并将封装报文传输至地址转换服务器;
相应地,
地址转换服务器具体用于:按照预设协议解析封装报文,得到请求明文和内网标识。预设协议可以为自定义协议,其中提供记录内网标识的参数即可。
在一种具体实施方式中,IPsec隧道建立于流量代理端与目标终端中的IPsec客户端之间,或建立于流量代理端与目标内网中的、与目标终端连接的IPsec网关之间。
在一种具体实施方式中,IPsec服务器具体用于:
基于请求密文中的、用于标记内网的字段查询内网标识。
在一种具体实施方式中,地址转换服务器具体用于:
创建目标会话,并将内网标识、内网虚拟IP地址以及外网信息记录至目标会话;外网信息为外网的公网IP地址。
在一种具体实施方式中,地址转换服务器具体用于:
对新请求明文进行安全检测和/或流量统计。
可见,本实施例提供了一种流量代理端,能够解决“将当前响应包传输至哪个内网”的问题,降低丢包率。
下面以图4为例,设计如下方案。图4中的实线箭头指示请求传输方向,虚线箭头指示响应传输方向。
1、对各设备进行配置。
(1)PC为内网里的windows PC。假设PC的内网IP为192.168.1.1,内网网关的内网IP为192.168.1.254,内网网关的公网IP为1.1.1.1。内网网关为linux服务器,安装有支持标准IPsec的软件(如strongswan)。其中,基于strongswan可对内网网关配置相关参数,这些参数可由配置服务器下发完成配置,也可以手动配置。
(2)IPsec服务器为linux服务器,与地址转换服务器在同一内网中。当然,IPsec服务器与地址转换服务器可不在同一内网,只要二者能够通信即可。IPsec服务器安装有支持标准IPsec的软件(如strongswan等)以及预设封装协议的处理模块。假设IPsec服务器的内网IP为172.16.1.1,IPsec服务器的公网IP为2.2.2.2。其中,基于strongswan可对IPsec服务器配置相关参数,这些参数可由配置服务器下发完成配置,也可以手动配置。
基于strongswan对内网网关和IPsec服务器分别配置相关参数后,二者便可基于IPsec隧道进行通信。
(3)地址转换服务器为linux服务器,包括:预设封装协议的处理模块及地址转换模块(用于进行地址转换)。假设地址转换服务器的内网IP为172.16.1.2,地址转换服务器的公网IP为3.3.3.3。
(4)假设外网网站的公网IP为14.215.177.38,接收端口为80。
一、请求发送阶段
1、内网网关与IPsec服务器建立IPsec隧道。
内网网关与IPsec服务器基于strongswan配置的相关参数进行ike协商,二者均得到IKE SA及IPsec SA,然后二者将IKE SA及IPsec SA下发到自身linux xfrm,从而连通二者之间的IPsec隧道。具体可参照现有IPsec的实现手段。
2、PC发出上网请求给内网网关。
PC访问IP为14.215.177.38的网站,假设PC(IP为192.168.1.1)发起请求的源端口为5050,则此时PC发给内网网关的上网请求的tcp四元组为[192.168.1.1:5050-14.215.177.38:80]。
3、内网网关加密上网请求,并发送密文给IPsec服务器。
内网网关的xfrm框架根据IKE SA及IPsec SA对上网请求加密,得到IPsec加密请求数据,将其发送到IPsec服务器。此时,内网网关发给IPsec服务器的IPsec加密请求数据的udp四元组为[1.1.1.1:4500-2.2.2.2:4500]。
4、IPsec服务器解密上网请求,并发送请求明文和mark字段123456给地址转换服务器。
IPsec服务器收到IPsec加密请求数据,先根据其中的esp头部spi字段,调用xfrm_state_lookup_byspi函数查找xfrm_state,得到mark为123456(即:内网标识),将其设置到skb结构体的mark字段。再由xfrm框架对IPsec加密请求数据进行解密,得到请求明文。IPsec服务器发给地址转换服务器的数据的tcp四元组为[192.168.1.1:5050-14.215.177.38:80]的原始请求数据。
其中,不同内网的内网标识取值不同。其由IPsec服务器分配。
5、IPsec服务器利用预设封装协议封装原始请求数据,并将封装后的报文发给地址转换服务器。
IPsec服务器使用自身中的预设封装协议的处理模块将skb结构体的mark字段123456赋值给RTKEY。RTKEY为预设封装协议提供的记录内网标识的参数。然后封装RTKEY和原始请求数据,发送到地址转换服务器。此时IPsec服务器发给地址转换服务器的数据的udp四元组为[172.16.1.1:12321-172.16.1.2:12321]。
6、地址转换服务器解封报文,并进行SNAT(源地址转换),然后将具体请求数据发送到外网网站,同时创建会话。
地址转换服务器使用自身中的预设封装协议的处理模块解封报文,得到tcp四元组为[192.168.1.1:5050-14.215.177.38:80]的原始请求数据,以及RTKEY:123456。之后,地址转换服务器使用自身中的地址转换模块对原始请求数据进行SNAT后,发送到外网网站。地址转换服务器解封报文发给外网网站的请求数据的tcp四元组为[3.3.3.3:15050-14.215.177.38:80]。
假设选择端口15050作为SNAT后的源端口,则地址转换模块会根据tcp四元组、出口IP及端口、RTKEY创建会话:{sip:192.168.1.1,sport:5050,dip:14.215.177.38,dport:80,RTKEY:123456,snatip:3.3.3.3,snatport:15050}。
其中,会话中记录有RTKEY的赋值,多个内网的RTKEY取值不同,因此多个内网的PC可以有相同的源IP。地址转换服务器还可以对请求进行安全检测。
二、响应处理阶段
1、地址转换服务器收到外网网站发送的响应数据,进行DNAT和会话查询后,发送到IPsec服务器。
地址转换服务器接收到的响应数据的tcp四元组为[14.215.177.38:80-3.3.3.3:15050]。
地址转换服务器根据接收到的响应数据的四元组查找到对应会话,并使用自身中的地址转换模块对接收到的响应数据进行DNAT(目的地址转换)。DNAT后的响应数据tcp四元组为[14.215.177.38:80-192.168.1.1:5050]。之后地址转换服务器使用自身中的预设封装协议的处理模块封装会话中的RTKEY:123456及响应数据,发送到IPsec服务器。此时地址转换服务器发给IPsec服务器的数据的udp四元组为[172.16.1.2:12321-172.16.1.1:12321]。
2、IPsec服务器解封响应数据后,查询RTKEY:123456确定内网网关,然后加密响应数据后,回传给内网网关。
IPsec服务器中的预设封装协议的处理模块解封响应数据,得到原始响应数据及RTKEY 123456,并将RTKEY设置为skb结构体的mark。IPsec服务器加密响应数据,IPsec服务器的xfrm框架根据响应数据四元组及skb结构体中的mark字段,找到对应的内网网关。此时IPsec服务器发给内网网关的加密响应数据的udp四元组为[2.2.2.2:4500-1.1.1.1:4500]。
3、内网网关解密得响应数据明文,并发送响应数据明文给PC。此时内网网关发给PC的响应数据明文的tcp四元组为[14.215.177.38:80-192.168.1.1:5050]。
4、PC收到响应数据。
其中,内网网关的寻找不仅仅和IP及端口信息有关,mark字段也参与了,因此多个内网的PC可以有相同的源IP。
可见,本实施例给各个内网配置内网标识,只需让IPsec服务器记录这些内网标识,无需额外增加其他网络配置,也无需调整内网网络,解决了不同内网IP的冲突问题,部署成本低、灵活性和扩展性较好。
下面对本申请实施例提供的一种电子设备进行介绍,下文描述的一种电子设备与上文描述的一种请求处理方法及装置可以相互参照。
参见图5所示,本申请实施例公开了一种电子设备,包括:
存储器501,用于保存计算机程序;
处理器502,用于执行所述计算机程序,以实现上述任意实施例公开的方法。
请参考图6,图6为本实施例提供的另一种电子设备示意图,该电子设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processingunits,CPU)322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在电子设备301上执行存储介质330中的一系列指令操作。
电子设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。例如,Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等。
在图6中,应用程序342可以是执行请求处理方法的程序,数据344可以是执行请求处理方法所需的或产生的数据。
上文所描述的请求处理方法中的步骤可以由电子设备的结构实现。
下面对本申请实施例提供的一种可读存储介质进行介绍,下文描述的一种可读存储介质与上文描述的一种请求处理方法、装置及设备可以相互参照。
一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述实施例公开的请求处理方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本申请涉及的“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法或设备固有的其它步骤或单元。
需要说明的是,在本申请中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的可读存储介质中。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种请求处理方法,其特征在于,应用于流量代理端,包括:
若接收到目标内网中的目标终端访问外网的请求密文,则解密所述请求密文得到请求明文,并确定所述目标内网的内网标识;所述内网标识由所述流量代理端预先为所述目标内网配置,所述内网标识记录在xfrm_state中;
将所述请求明文中的源IP地址,由所述目标终端的内网虚拟IP地址转换为所述流量代理端的公网IP地址,得到新请求明文;
将所述新请求明文传输至所述外网,并记录所述内网标识、所述内网虚拟IP地址以及外网信息,以便在接收到所述外网返回的响应数据的情况下,基于所述内网标识、所述内网虚拟IP地址以及所述外网信息传输所述响应数据至所述目标终端。
2.根据权利要求1所述的请求处理方法,其特征在于,所述确定所述目标内网的内网标识,包括:
基于所述请求密文中的、用于标记内网的字段查询所述内网标识。
3.根据权利要求1所述的请求处理方法,其特征在于,所述记录所述内网标识、所述内网虚拟IP地址以及外网信息,包括:
创建目标会话,并将所述内网标识、所述内网虚拟IP地址以及所述外网信息记录至所述目标会话;所述外网信息为所述外网的公网IP地址。
4.根据权利要求1至3任一项所述的请求处理方法,其特征在于,所述在接收到所述外网返回的响应数据的情况下,基于所述内网标识、所述内网虚拟IP地址以及所述外网信息传输所述响应数据至所述目标终端,包括:
若接收到所述响应数据,则基于所述响应数据中的所述外网信息查询得到所述内网标识和所述内网虚拟IP地址;
将所述响应数据中的目的地址,由所述流量代理端的公网IP地址转换为所述内网虚拟IP地址,得到新响应数据;
加密所述新响应数据得到响应密文,并基于所述内网标识将所述响应密文传输至所述目标终端。
5.根据权利要求1至3任一项所述的请求处理方法,其特征在于,所述将所述新请求明文传输至所述外网之前,还包括:
对所述新请求明文进行安全检测和/或流量统计。
6.一种请求处理装置,其特征在于,应用于流量代理端,包括:
解密模块,用于若接收到目标内网中的目标终端访问外网的请求密文,则解密所述请求密文得到请求明文,并确定所述目标内网的内网标识;所述内网标识由所述流量代理端预先为所述目标内网配置,所述内网标识记录在xfrm_state中;
源地址转换模块,用于将所述请求明文中的源IP地址,由所述目标终端的内网虚拟IP地址转换为所述流量代理端的公网IP地址,得到新请求明文;
传输模块,用于将所述新请求明文传输至所述外网,并记录所述内网标识、所述内网虚拟IP地址以及外网信息,以便在接收到所述外网返回的响应数据的情况下,基于所述内网标识、所述内网虚拟IP地址以及所述外网信息传输所述响应数据至所述目标终端。
7.一种流量代理端,其特征在于,包括:IPsec服务器和地址转换服务器,其中:
所述IPsec服务器,用于通过IPsec隧道接收目标内网中的目标终端访问外网的请求密文,解密所述请求密文得到请求明文,确定所述目标内网的内网标识,将所述请求明文和所述内网标识传输至所述地址转换服务器;所述内网标识由所述流量代理端预先为所述目标内网配置,所述内网标识记录在xfrm_state中;
所述地址转换服务器,用于将所述请求明文中的源IP地址,由所述目标终端的内网虚拟IP地址转换为所述流量代理端的公网IP地址,得到新请求明文;将所述新请求明文传输至所述外网,并记录所述内网标识、所述内网虚拟IP地址以及外网信息;在接收到所述外网返回的响应数据的情况下,基于所述响应数据中的所述外网信息查询得到所述内网标识和所述内网虚拟IP地址;将所述响应数据中的目的IP地址,由所述流量代理端的公网IP地址转换为所述内网虚拟IP地址,得到新响应数据,并将所述新响应数据和所述内网标识至所述IPsec服务器;
所述IPsec服务器,还用于加密所述新响应数据得到响应密文,并基于所述内网标识将所述响应密文传输至所述目标终端。
8.根据权利要求7所述的流量代理端,其特征在于,
所述IPsec服务器具体用于:按照预设协议封装所述请求明文和所述内网标识,得到封装报文,并将所述封装报文传输至所述地址转换服务器;
相应地,
所述地址转换服务器具体用于:按照所述预设协议解析所述封装报文,得到所述请求明文和所述内网标识。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至5任一项所述的请求处理方法。
10.一种可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的请求处理方法。
CN202111294602.9A 2021-11-03 2021-11-03 请求处理方法、装置、流量代理端、设备及可读存储介质 Active CN114024741B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111294602.9A CN114024741B (zh) 2021-11-03 2021-11-03 请求处理方法、装置、流量代理端、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111294602.9A CN114024741B (zh) 2021-11-03 2021-11-03 请求处理方法、装置、流量代理端、设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN114024741A CN114024741A (zh) 2022-02-08
CN114024741B true CN114024741B (zh) 2024-04-09

Family

ID=80060225

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111294602.9A Active CN114024741B (zh) 2021-11-03 2021-11-03 请求处理方法、装置、流量代理端、设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN114024741B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114615079A (zh) * 2022-03-31 2022-06-10 深信服科技股份有限公司 一种数据处理方法、装置、设备及可读存储介质
CN115208614B (zh) * 2022-05-18 2023-09-05 北京达佳互联信息技术有限公司 流量调度方法、装置及存储介质
CN115514692A (zh) * 2022-09-20 2022-12-23 深信服科技股份有限公司 一种资源池内网络交互方法、系统、存储介质和终端

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200908658A (en) * 2007-08-15 2009-02-16 Inventec Corp A system for modifying internet protocol address of internal network in a dual-controller, and method using the same
CN101488904A (zh) * 2009-02-27 2009-07-22 杭州华三通信技术有限公司 Gre隧道穿越网络地址转换设备的方法和网络地址转换设备
CN103023898A (zh) * 2012-12-03 2013-04-03 杭州迪普科技有限公司 一种访问vpn服务端内网资源的方法及装置
CN104202300A (zh) * 2014-08-06 2014-12-10 广东电网公司电力科学研究院 基于网络隔离装置的数据通信方法和装置
CN110266713A (zh) * 2019-06-28 2019-09-20 深圳市网心科技有限公司 内外网通信方法、装置、系统及代理服务器和存储介质
CN112040030A (zh) * 2020-11-04 2020-12-04 武汉绿色网络信息服务有限责任公司 报文传输方法、装置、计算机设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110305160A1 (en) * 2010-06-14 2011-12-15 G2, Inc. System, device, and terminal for resolving an obfuscated network address of a network device within a network
CN108574589B (zh) * 2017-03-10 2021-09-14 华为技术有限公司 一种互联网协议安全性隧道的维护方法、装置及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200908658A (en) * 2007-08-15 2009-02-16 Inventec Corp A system for modifying internet protocol address of internal network in a dual-controller, and method using the same
CN101488904A (zh) * 2009-02-27 2009-07-22 杭州华三通信技术有限公司 Gre隧道穿越网络地址转换设备的方法和网络地址转换设备
CN103023898A (zh) * 2012-12-03 2013-04-03 杭州迪普科技有限公司 一种访问vpn服务端内网资源的方法及装置
CN104202300A (zh) * 2014-08-06 2014-12-10 广东电网公司电力科学研究院 基于网络隔离装置的数据通信方法和装置
CN110266713A (zh) * 2019-06-28 2019-09-20 深圳市网心科技有限公司 内外网通信方法、装置、系统及代理服务器和存储介质
CN112040030A (zh) * 2020-11-04 2020-12-04 武汉绿色网络信息服务有限责任公司 报文传输方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN114024741A (zh) 2022-02-08

Similar Documents

Publication Publication Date Title
CN114024741B (zh) 请求处理方法、装置、流量代理端、设备及可读存储介质
Frankel et al. Ip security (ipsec) and internet key exchange (ike) document roadmap
EP2789117B1 (en) Secure prefix authorization with untrusted mapping services
EP3595271B1 (en) Packet transmission method, apparatus and network
US9674142B2 (en) Monitoring network traffic
US20120230336A1 (en) Communication method and communication system
KR100479261B1 (ko) 네트워크 주소 변환 상에서의 데이터 전송 방법 및 장치
CN110771116B (zh) 一种加密数据流的识别方法、设备、存储介质及系统
WO2020063528A1 (zh) 数据中心中虚拟机之间的通信方法、装置和系统
WO2019129201A1 (en) Session management for communications between a device and a dtls server
CN102088438B (zh) 一种解决因特网协议安全性客户端地址冲突的方法及客户端
CN109981820B (zh) 一种报文转发方法及装置
Aazam et al. Impact of ipv4-ipv6 coexistence in cloud virtualization environment
CN106209401B (zh) 一种传输方法及装置
CN110832806B (zh) 针对面向身份的网络的基于id的数据面安全
CN112887187B (zh) 一种设备间通信建立方法、系统、装置、设备及介质
CN116527405B (zh) 一种srv6报文加密传输方法、装置及电子设备
CN111835613B (zh) 一种vpn服务器的数据传输方法及vpn服务器
US20230239279A1 (en) Method and apparatus for security communication
Yoshikawa et al. Performance evaluation of shared library supporting multi-platform for overlay network protocol
AU2016374990B2 (en) Apparatus and method for forwarding data packets
JP6075871B2 (ja) ネットワークシステム、通信制御方法、通信制御装置及び通信制御プログラム
WO2019076025A1 (zh) 一种加密数据流的识别方法、设备、存储介质及系统
Amutha et al. An Integrated Secure Architecture for IPv4/IPv6 Address Translation Between IPv4 and IPv6 Networks
Zheng et al. Security transmission of FTP data based on IPsec

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
GR01 Patent grant
GR01 Patent grant