CN117579352A - 业务节点的服务访问方法、系统、电子设备及存储介质 - Google Patents

业务节点的服务访问方法、系统、电子设备及存储介质 Download PDF

Info

Publication number
CN117579352A
CN117579352A CN202311556803.0A CN202311556803A CN117579352A CN 117579352 A CN117579352 A CN 117579352A CN 202311556803 A CN202311556803 A CN 202311556803A CN 117579352 A CN117579352 A CN 117579352A
Authority
CN
China
Prior art keywords
service
proxy
node
port
access
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.)
Pending
Application number
CN202311556803.0A
Other languages
English (en)
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 CN202311556803.0A priority Critical patent/CN117579352A/zh
Publication of CN117579352A publication Critical patent/CN117579352A/zh
Pending legal-status Critical Current

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
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种业务节点的服务访问方法、系统、电子设备及存储介质,所属技术领域为网络通信技术。所述业务节点的服务访问方法包括:接收所述业务节点通过所述代理客户端发送的目标服务的注册请求;将所述目标服务的名称注册为访问域名,并向域名解析服务注册所述访问域名与所述代理服务端的代理IP地址的对应关系;在所述代理服务端中为所述目标服务注册随机代理端口,并向端口转换服务注册对外端口与所述随机代理端口的对应关系;将所述访问域名和所述对外端口提供给用户,以便所述用户利用所述访问域名和所述对外端口访问所述业务节点的所述目标服务。本申请能够在不对外暴露业务节点端口的前提下,实现管理节点对业务节点的安全访问。

Description

业务节点的服务访问方法、系统、电子设备及存储介质
技术领域
本申请涉及网络通信技术领域,特别涉及一种业务节点的服务访问方法、系统、电子设备及存储介质。
背景技术
在云桌面场景下,管理节点访问业务节点存在网络访问不可达的情况,在相关技术中通常使用VPN、专线网络等技术实现管理节点对业务节点的访问。但是上述方式要求业务节点对管理节点暴露端口,导致业务节点的安全性较低。
因此,如何在不对外暴露业务节点端口的前提下,实现管理节点对业务节点的安全访问是本领域技术人员目前需要解决的技术问题。
发明内容
本申请的目的是提供一种业务节点的服务访问方法、系统、电子设备及存储介质,能够在不对外暴露业务节点端口的前提下,实现管理节点对业务节点的安全访问。
为解决上述技术问题,本申请提供一种业务节点的服务访问方法,应用于部署了代理服务端的管理节点,所述代理服务端与业务节点中部署的代理客户端建立了单向连接双向通行通道,所述业务节点的服务访问方法包括:
接收所述业务节点通过所述代理客户端发送的目标服务的注册请求;
将所述目标服务的名称注册为访问域名,并向域名解析服务注册所述访问域名与所述代理服务端的代理IP地址的对应关系;
在所述代理服务端中为所述目标服务注册随机代理端口,并向端口转换服务注册对外端口与所述随机代理端口的对应关系;
将所述访问域名和所述对外端口提供给用户,以便所述用户利用所述访问域名和所述对外端口访问所述业务节点的所述目标服务。
可选的,还包括:
若接收到用户发送的包含所述对外端口和所述访问域名的服务访问请求时,调用所述域名解析服务将所述访问域名解析为所述代理IP地址,调用所述端口转换服务将所述对外端口转换为所述随机代理端口;
控制所述代理服务端利用所述代理IP地址和所述随机代理端口将所述服务访问请求发送至所述代理客户端,以便所述代理客户端将所述服务访问请求转发至所述目标服务进行处理。
可选的,在接收所述业务节点通过所述代理客户端发送的目标服务的注册请求之后,还包括:
获取所述业务节点的节点信息,并将所述节点信息转发至认证端进行认证;
若所述业务节点未通过所述认证端的认证,则拒绝对所述目标服务进行注册。
可选的,还包括:
判断所述代理服务端是否出现异常;
若是,则建立所述代理客户端与所述管理节点中的其他代理服务端的单向连接双向通行通道;
向所述域名解析服务注册所述访问域名与所述其他代理服务端的代理IP地址的对应关系;
在所述其他代理服务端中为所述目标服务注册新的随机代理端口,并向所述端口转换服务注册所述对外端口与新的随机代理端口的对应关系。
可选的,在判定所述代理服务端出现异常后,还包括:
在域名解析服务中注销所述访问域名与所述代理服务端的代理IP地址的对应关系;
在端口转换服务中注销所述对外端口与所述随机代理端口的对应关系。
本申请还提供了一种业务节点的服务访问方法,应用于部署了代理服务端的管理节点,所述代理服务端与业务节点中部署的代理客户端建立了单向连接双向通行通道,所述业务节点通过所述代理客户端向所述管理节点注册服务,所述管理节点的域名解析服务中注册有所述服务的访问域名与所述代理服务端的代理IP地址的对应关系,所述管理节点的端口转换服务中注册了对外接口与所述代理服务端的随机代理接口的对应关系,所述业务节点的服务访问方法包括:
接收服务访问请求,并确定所述服务访问请求中包含的目标访问域名和目标对外端口;
调用所述域名解析服务将所述目标访问域名解析为所述代理IP地址;
调用端口转换服务将所述目标对外端口转换为目标随机代理端口;
控制所述代理服务端利用所述代理IP地址和所述目标随机代理端口将所述服务访问请求发送至所述代理客户端,以便所述代理客户端将所述服务访问请求转发至对应的服务进行处理。
本申请还提供了一种业务节点的服务访问系统,应用于部署了代理服务端的管理节点,所述代理服务端与业务节点中部署的代理客户端建立了单向连接双向通行通道,所述业务节点的服务访问系统包括:
注册请求接收模块,用于接收所述业务节点通过所述代理客户端发送的目标服务的注册请求;
域名注册模块,用于将所述目标服务的名称注册为访问域名,并向域名解析服务注册所述访问域名与所述代理服务端的代理IP地址的对应关系;
端口注册模块,用于在所述代理服务端中为所述目标服务注册随机代理端口,并向端口转换服务注册对外端口与所述随机代理端口的对应关系;
服务访问模块,用于将所述访问域名和所述对外端口提供给用户,以便所述用户利用所述访问域名和所述对外端口访问所述业务节点的所述目标服务。
本申请还提供了一种业务节点的服务访问系统,应用于部署了代理服务端的管理节点,所述代理服务端与业务节点中部署的代理客户端建立了单向连接双向通行通道,所述业务节点通过所述代理客户端向所述管理节点注册服务,所述管理节点的域名解析服务中注册有所述服务的访问域名与所述代理服务端的代理IP地址的对应关系,所述管理节点的端口转换服务中注册了对外接口与所述代理服务端的随机代理接口的对应关系,所述业务节点的服务访问系统包括:
访问请求接收模块,用于接收服务访问请求,并确定所述服务访问请求中包含的目标访问域名和目标对外端口;
域名解析模块,用于调用所述域名解析服务将所述目标访问域名解析为所述代理IP地址;
端口转换模块,用于调用端口转换服务将所述目标对外端口转换为目标随机代理端口;
请求转发模块,用于控制所述代理服务端利用所述代理IP地址和所述目标随机代理端口将所述服务访问请求发送至所述代理客户端,以便所述代理客户端将所述服务访问请求转发至对应的服务进行处理。
本申请还提供了一种存储介质,其上存储有计算机程序,所述计算机程序执行时实现上述业务节点的服务访问方法执行的步骤。
本申请还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现上述业务节点的服务访问方法执行的步骤。
本申请提供了一种业务节点的服务访问方法,应用于部署了代理服务端的管理节点,所述代理服务端与业务节点中部署的代理客户端建立了单向连接双向通行通道,所述业务节点的服务访问方法包括:接收所述业务节点通过所述代理客户端发送的目标服务的注册请求;将所述目标服务的名称注册为访问域名,并向域名解析服务注册所述访问域名与所述代理服务端的代理IP地址的对应关系;在所述代理服务端中为所述目标服务注册随机代理端口,并向端口转换服务注册对外端口与所述随机代理端口的对应关系;将所述访问域名和所述对外端口提供给用户,以便所述用户利用所述访问域名和所述对外端口访问所述业务节点的所述目标服务。
本申请中的管理节点部署了代理服务端,业务节点部署了代理客户端,且代理服务端与代理客户端之间建立有单向连接双向通行通道。管理节点在接收到业务节点通过代理客户端发送的目标服务的注册请求后,将目标服务的名称注册为访问域名,并在域名解析服务中通过对访问域名进行注册,以便建立访问域名与代理IP地址的对应关系。上述管理节点还在代理服务端中为目标服务注册随机代理端口,并向端口转换服务注册对外端口与所述随机代理端口的对应关系。管理节点将访问域名和对外端口提供给用户,用户可以通过访问域名和对外端口访问业务节点中的目标服务。在上述过程中仅将管理节点的对外端口和访问域名提供给用户,用户通过对外端口和访问域名即可通过管理节点实现对业务节点的方案。因此,本申请能够在不对外暴露业务节点端口的前提下,实现管理节点对业务节点的安全访问。本申请同时还提供了一种业务节点的服务访问系统、一种存储介质和一种电子设备,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例所提供的一种业务节点的服务访问场景示意图;
图2为本申请实施例所提供的一种业务节点的服务访问方法的流程图;
图3为本申请实施例所提供的另一种业务节点的服务访问方法的流程图;
图4为本申请实施例所提供的一种面向业务零端口暴露的分布式安全代理的流程图;
图5为本申请实施例所提供的一种管理平台多节点集群部署的节点示意图;
图6为本申请实施例所提供的一种用户通过管理节点访问业务节点的原理图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参见图1,图1为本申请实施例所提供的一种业务节点的服务访问场景示意图,图中示出了如下4种场景的服务访问方式:
场景1:部分业务上云端。在本场景下管理节点可以为公有云中应用B所在的节点,业务节点为私有云中应用A所在的节点。
场景2:边缘计算。在本场景下管理节点为数据中心的节点,业务节点为边缘节点。
场景3:虚拟VPC(Virtual Private Cloud,虚拟私有云)网络。在本场景下管理节点为管理网中应用B所在的节点,业务节点为业务子网中应用A所在的节点,应用A和应用B通过VPC连接。
场景4:分布式云服务。在本场景下管理节点为与分布式中心端连接的一个节点,业务节点为与分布式中心端连接的另一个节点。
下面请参见图2,图2为本申请实施例所提供的一种业务节点的服务访问方法的流程图。
具体步骤可以包括:
S201:接收所述业务节点通过所述代理客户端发送的目标服务的注册请求;
其中,本实施例可以应用于部署了代理服务端的管理节点,用户需用通过管理节点对业务节点中的服务进行访问,上述业务节点中部署了代理客户端。上述代理服务端与代理客户端之间建立有单向连接双向通行通道,该单向连接双向通行通道可以基于TCP(Transmission Control Protocol,传输控制协议)、WebSocket(一种网络通信协议)等支持全双工通信协议实现。
由于代理服务端与代理客户端之间建立有单向连接双向通行通道,业务节点可以通过自身部署的代理客户端向业务节点发送注册请求,以便在业务节点中对目标服务进行注册。
管理节点又称服务节点,是统一的业务管理节点和服务入口,管理节点运行于业务管理面所在的虚拟机。代理服务端部署在管理节点,用于接受代理客户端的代理注册的服务端,负责接受并维护代理连接信息。业务节点为承载主要的业务运行的虚拟机节点,部署在业务网下。代理客户端部署在业务节点,用于发起代理连接并向代理服务端提供代理业务服务信息。上述目标服务又称业务服务,目标服务为在业务节点的具体服务,目标服务本身不感知代理客户端的存在。
S202:将所述目标服务的名称注册为访问域名,并向域名解析服务注册所述访问域名与所述代理服务端的代理IP地址的对应关系;
其中,在得到注册请求之后,可以解析注册请求得到目标服务的名称,进而将目标服务的名称注册为访问域名。管理节点中运行有域名解析服务,在向域名解析服务注册访问域名与代理服务端的代理IP地址的对应关系后,域名解析服务能够将访问域名解析为代理IP地址。本实施例中域名解析服务可以提供服务注册和域名解析功能,代理服务端将业务代理信息注册为域名,用户可以通过域名访问代理服务。
S203:在所述代理服务端中为所述目标服务注册随机代理端口,并向端口转换服务注册对外端口与所述随机代理端口的对应关系;
其中,管理节点还可以在代理服务端中为目标服务注册对应的随机代理端口,并向端口转换服务注册对外端口与所述随机代理端口的对应关系。上述端口转换服务用于实现对外端口与随即代理端口的转换。
S204:将所述访问域名和所述对外端口提供给用户,以便所述用户利用所述访问域名和所述对外端口访问所述业务节点的所述目标服务。
其中,在访问域名和对外端口注册完毕后,可以将访问域名和对外端口提供给用户,用户可以在管理节点上利用上述访问域名和对外端口对业务节点的所述目标服务进行访问。
具体的,若接收到用户发送的服务访问请求,则确定所述服务访问请求中包含的目标访问域名和目标对外端口;调用所述域名解析服务将所述目标访问域名解析为所述代理IP地址;调用端口转换服务将所述目标对外端口转换为目标随机代理端口;控制所述代理服务端利用所述代理IP地址和所述目标随机代理端口将所述服务访问请求发送至所述代理客户端。若发送至代理客户端的目标随机代理端口为S103中目标服务对应的随机代理端口,代理客户端则可以将所述服务访问请求转发至目标服务进行处理。代理客户端内可以记录目标服务在业务节点中的名称、实际IP地址和实际端口,代理客户端可以基于名称、实际IP地址和实际端口将服务访问请求转发至目标服务进行处理。
本实施例中的管理节点部署了代理服务端,业务节点部署了代理客户端,且代理服务端与代理客户端之间建立有单向连接双向通行通道。管理节点在接收到业务节点通过代理客户端发送的目标服务的注册请求后,将目标服务的名称注册为访问域名,并在域名解析服务中通过对访问域名进行注册,以便建立访问域名与代理IP地址的对应关系。上述管理节点还在代理服务端中为目标服务注册随机代理端口,并向端口转换服务注册对外端口与所述随机代理端口的对应关系。管理节点将访问域名和对外端口提供给用户,用户可以通过访问域名和对外端口访问业务节点中的目标服务。在上述过程中仅将管理节点的对外端口和访问域名提供给用户,用户通过对外端口和访问域名即可通过管理节点实现对业务节点的方案。因此,本实施例能够在不对外暴露业务节点端口的前提下,实现管理节点对业务节点的安全访问。
作为对于图2对应实施例的进一步介绍,若管理节点接收到用户发送的包含所述对外端口和所述访问域名的服务访问请求时,则可以调用所述域名解析服务将所述访问域名解析为所述代理IP地址,调用所述端口转换服务将所述对外端口转换为所述随机代理端口;管理节点还可以控制所述代理服务端利用所述代理IP地址和所述随机代理端口将所述服务访问请求发送至所述代理客户端,以便所述代理客户端将所述服务访问请求转发至所述目标服务进行处理。
作为对于图2对应实施例的进一步介绍,在接收所述业务节点通过所述代理客户端发送的目标服务的注册请求之后,可以对业务节点进行认证,以便在认证通过后,在执行目标服务的注册操作。具体的,本实施例可以获取所述业务节点的节点信息,并将所述节点信息转发至认证端进行认证;若所述业务节点未通过所述认证端的认证,则拒绝对所述目标服务进行注册。上述节点信息可以包括业务节点的节点名称和节点身份。通过上述方式可以提高管理节点与业务节点之间通信的安全性。上述认证端可以为提供第单方认证服务的代理认证端,用于代理客户端的权限和代理连接的安全性。
作为对于图2对应实施例的进一步介绍,管理节点中可以部署多个代理服务端,当与代理客户端连接的代理客户端出现异常后,可以使用其他代理服务端保持与代理客户端的连接,具体的过程如下:判断所述代理服务端是否出现异常;若是,则建立所述代理客户端与所述管理节点中的其他代理服务端的单向连接双向通行通道;向所述域名解析服务注册所述访问域名与所述其他代理服务端的代理IP地址的对应关系;在所述其他代理服务端中为所述目标服务注册新的随机代理端口,并向所述端口转换服务注册所述对外端口与新的随机代理端口的对应关系。进一步的,在判定所述代理服务端出现异常后,还可以在域名解析服务中注销所述访问域名与所述代理服务端的代理IP地址的对应关系;在判定所述代理服务端出现异常后,还可以在端口转换服务中注销所述对外端口与所述随机代理端口的对应关系。通过上述方式,可以提高管理节点访问目标服务的可靠性。
请参见图3,图3为本申请实施例所提供的另一种业务节点的服务访问方法的流程图,本实施例应用于部署了代理服务端的管理节点,该管理节点已经注册了业务节点的目标服务。具体的,代理服务端与业务节点中部署的代理客户端建立了单向连接双向通行通道,所述业务节点通过所述代理客户端向所述管理节点注册服务,所述管理节点的域名解析服务中注册有所述服务的访问域名与所述代理服务端的代理IP地址的对应关系,所述管理节点的端口转换服务中注册了对外接口与所述代理服务端的随机代理接口的对应关系。上述业务节点的服务访问方法包括如下步骤:
S301:接收服务访问请求,并确定所述服务访问请求中包含的目标访问域名和目标对外端口;
S302:调用所述域名解析服务将所述目标访问域名解析为所述代理IP地址;
S303:调用端口转换服务将所述目标对外端口转换为目标随机代理端口;
S304:控制所述代理服务端利用所述代理IP地址和所述目标随机代理端口将所述服务访问请求发送至所述代理客户端,以便所述代理客户端将所述服务访问请求转发至对应的服务进行处理。
本实施例将管理节点将访问域名和对外端口提供给用户,用户可以通过访问域名和对外端口访问业务节点中的目标服务。在上述过程中仅将管理节点的对外端口和访问域名提供给用户,用户通过对外端口和访问域名即可通过管理节点实现对业务节点的方案。因此,本实施例能够在不对外暴露业务节点端口的前提下,实现管理节点对业务节点的安全访问。
作为对于图3对应实施例的进一步介绍,在注册目标服务的过程中可以对业务节点进行认证,具体过程如下:获取所述业务节点的节点信息,并将所述节点信息转发至认证端进行认证;若所述业务节点未通过所述认证端的认证,则拒绝对所述目标服务进行注册。
作为对于图3对应实施例的进一步介绍,可以按照预设周期判断所述代理服务端是否出现异常;若出现异常,则建立所述代理客户端与所述管理节点中的其他代理服务端的单向连接双向通行通道;向所述域名解析服务注册所述访问域名与所述其他代理服务端的代理IP地址的对应关系;在所述其他代理服务端中为所述目标服务注册新的随机代理端口,并向所述端口转换服务注册所述对外端口与新的随机代理端口的对应关系。
作为对于图3对应实施例的进一步介绍,在判定所述代理服务端出现异常后,还可以在域名解析服务中注销所述访问域名与所述代理服务端的代理IP地址的对应关系,还可以在端口转换服务中注销所述对外端口与所述随机代理端口的对应关系。
下面通过在实际应用中的实施例说明上述实施例描述的流程。
在相关技术中,管理节点访问远端的业务节点存在网络访问不可达的问题,通常解决网络访问问题是使用SSH隧道、GRPC网关代理等网络技术来解决。SSH隧道是一种基于SSH协议的加密通道技术,可以将本地端口映射到远程主机上,从而实现内网服务的公网访问。SSH隧道的原理是通过SSH协议建立一个加密通道,将本地端口和远程主机上的端口进行映射,从而实现内网服务的公网访问。SSH隧道需要业务虚拟机暴露ssh端口,需要网络可以直接访问到业务虚拟机,且服务端会出现单点故障。GRPC网关代理可以在服务端和客户端各部署一个GRPC网关,在客户端网关启动时主动连接服务端网关,携带该客户端实例标志信息,建立双向连接通道。由于该通道的请求是异步的,当业务客户端需要调用服务端时,不使用双向连接,直接调用业务服务端。当业务服务端需要调用业务客户端时,先调用服务端网关,网关根据客户端标志信息找到连接通道,异步发送给客户端网关,客户端网关再转发到业务客户端,得到响应后,再将结果异步发送给服务端网关。GRPC网关可能会出现单点故障,且服务端需要维护客户端的连接标志,当规模较大时影响节点性能。但是上述方式建设成本过高、且会使得业务节点的端口对外暴露。
此外,在分布式云安全的场景下,应用代理需要支持以下几种场景:(1)业务节点部署在业务子网下,此时业务网络是隔离的,无法直接通过IP访问到业务节点,只能由业务虚拟机主动向外部发起连接;(2)业务节点由于安全限制,所有的端口都会被限制访问,业务虚拟机不会对外暴露端口;(3)业务节点众多,代理服务端不能有单点故障,需要支持大规模场景,服务端需要支持分布式横向扩展。
基于上述相关技术存在的技术问题以及场景需求,本实施例提供了一种面向业务零端口暴露的分布式安全代理方案,本方案能够基于从网络应用代理使得管理节点实现安全透明访问远端的业务节点的服务。
请参见图4,图4为本申请实施例所提供的一种面向业务零端口暴露的分布式安全代理的流程图,本实施例中管理节点与业务节点存在单向网络隔离,即:管理节点无法访问到业务节点,此时在网络域上是隔离的,业务节点可以主动访问到管理节点。本实施例可以包括如下步骤:
S401:业务节点上运行代理客户端,业务节点上需要对外提供业务服务A名称:server-api,服务注册为127.0.0.1:443。业务节点主动向管理节点发起代理注册连接。
S402:代理服务端接收到server-api的注册请求,向配置的代理认证端发起认证,认证注册的节点信息是否合法,如果合法则允许注册,如果不合法则拒绝注册。认证端可以是三方的认证机制,如ak/sk认证、OAuth2等。
S403:代理服务端接收代理连接后,在本地注册一个随机代理端口,向域名解析服务注册代理服务域名server-api(即,访问域名)解析到代理服务端IP,并注册一个端口转换到代理随机端口,对外暴露一个端口P。
S404:用户通过访问域名server-api:端口P访问业务服务,发起http/https的api接口,进行ssh远程登录。
S405:代理服务端通过原有已经建立的连接将用户访问流量转发到代理客户端,以实现代理流量转发。
S406:代理客户端再基于已建立的业务连接将流量转发到端口A或端口B的用户服务(即,代理业务服务),实现业务节点服务正常对外提供服务。
本方案能够解决网络隔离场景下无法直接通过IP访问到业务节点内部服务端口的情况。本方案中业务节点不需要对外暴露任何端口,但是管理节点可以像访问本地服务一样访问业务节点上的服务。本方案支撑大云大规模管理节点的场景,服务节点可以按需横向扩展。客户端访问简单易用,只需要通过业务服务名(即访问域名)+固定端口(即对外端口)即可访问业务服务。
请参见图5,图5为本申请实施例所提供的一种管理平台多节点集群部署的节点示意图,管理VPC下存在多个业务节点。具体的,管理网中存在管理节点1~3,业务安全隔离网络包括业务节点1~3,业务节点可以向上访问管理节点,但管理节点无法向下访问业务节点,用户可以对管理节点的业务进行访问并管理。业务节点部署在不同的机房,统一在业务局域网络下,此时外部管理网无法访问到业务节点IP,中间可能存在多个防火墙和路由器。每个业务节点内部都开启了防火墙,禁止端口对外暴露,节点内部拒绝了外部的端口访问,如ssh,80/443端口等所有端口。在上述网络场景下,业务节点的网络地址和网络端口在外部网络是不可见的,保证了业务节点的网络隔离性和安全性。在上述网络场景下,用户可以通过管理节点直接安全访问到业务节点上暴露的服务,保证用户业务可以正常提供服务。
本实施例基于TCP单向连接的双向通信特性,将代理客户端的服务安全暴露给代理服务端。代理客户端携带代理业务服务信息(如:server-api)主动与代理服务端建立TCP长连接。代理服务接收到业务代理注册信息,经过代理认证端确认安全后,在本地绑定一个随机端口与代理业务服务一一对应,并注册代理业务服务名的一个域名(如:server-api)与代理服务一一对应,创建一个端口转发规则将固定端口转发到随机端口。用户只需要在代理服务端节点访问服务名+固定端口,就可以通过已经建立的TCP长连接访问到代理客户端上的业务服务。本实施例中代理客户端不需要对外开放端口,就可以将多个业务服务提供给代理服务端所在的网络调用,达到业务客户端零端口暴露的安全效果。代理服务端支持分布式横向扩展部署,可以支撑大规模应用代理。业务访问是去中心化,客户访问不感知代理服务端存在。
请参见图6,图6为本申请实施例提供的一种用户通过管理节点访问业务节点的原理图,本实施例以客户端业务服务127.0.0.1:443,存在两个服务端10.10.10.11和10.10.10.12为例,说明管理节点与业务节点之间的访问过程,具体包括如下步骤:
步骤1、代理客户端随机和IP为10.10.10.11的代理服务端建立tcp连接通道,即,构建连接单向连接双向通行通道。
步骤2、代理服务端接收注册的服务名server-api,在本地绑定随机端口2333,注册域名解析server-api到10.10.10.11,创建端口转换2600转换到2333。
步骤3、代理客户端使用server-api:2600开始访问用户服务。
步骤4、域名解析服务和端口转换找到代理服务端的10.10.10.11:2333端口连接,以实现映射域名和端口。
具体的,可以将server-api转换为IP 10.10.10.11,将端口2600转换为2333。
步骤5、代理服务端将IP地址(10.10.10.11)和端口(2333)转换到已建立的连接通道上,进行流量转发。
步骤6、代理客户端识别到用户请求,和本地server-api服务的端口127.0.0.1:443再建立一个tcp连接,进行流量转发到用户节点IP 192.168.11,将请求流量转发到真实提供业务服务的服务上。业务节点中的代理业务服务的名称为server-api,IP地址为127.0.0.1,端口为443。
步骤7、如果代理服务端10.10.10.11出现异常,则代理客户端重新与代理服务端10.10.10.12建立连接,达到分布式高可用的效果。
上述实施例提出了一种在私有网络隔离下的安全透明代理方案,本方案简单易用,用户访问不感知代理服务端,统一采用服务名加固定端口访问,不需要额外向代理服务获取代理信息进行访问。本方案支持大规模横向扩展,可以支持10W级别+的代理连接注册,并支持连接高可用,代理服务端异常连接自动切换。本实施例可以基于四层TCP协议、WebSocket协议等支持全双工通信协议的代理,自适应支持所有七层的http、https,GRPC等服务协议代理。本实施例安全可靠,在网络域安全隔离情况下业务服务无端口暴露。
本申请实施例还提供一种业务节点的服务访问系统,应用于部署了代理服务端的管理节点,所述代理服务端与业务节点中部署的代理客户端建立了单向连接双向通行通道,所述业务节点的服务访问系统包括:
注册请求接收模块,用于接收所述业务节点通过所述代理客户端发送的目标服务的注册请求;
域名注册模块,用于将所述目标服务的名称注册为访问域名,并向域名解析服务注册所述访问域名与所述代理服务端的代理IP地址的对应关系;
端口注册模块,用于在所述代理服务端中为所述目标服务注册随机代理端口,并向端口转换服务注册对外端口与所述随机代理端口的对应关系;
服务访问模块,用于将所述访问域名和所述对外端口提供给用户,以便所述用户利用所述访问域名和所述对外端口访问所述业务节点的所述目标服务。
本实施例中的管理节点部署了代理服务端,业务节点部署了代理客户端,且代理服务端与代理客户端之间建立有单向连接双向通行通道。管理节点在接收到业务节点通过代理客户端发送的目标服务的注册请求后,将目标服务的名称注册为访问域名,并在域名解析服务中通过对访问域名进行注册,以便建立访问域名与代理IP地址的对应关系。上述管理节点还在代理服务端中为目标服务注册随机代理端口,并向端口转换服务注册对外端口与所述随机代理端口的对应关系。管理节点将访问域名和对外端口提供给用户,用户可以通过访问域名和对外端口访问业务节点中的目标服务。在上述过程中仅将管理节点的对外端口和访问域名提供给用户,用户通过对外端口和访问域名即可通过管理节点实现对业务节点的方案。因此,本实施例能够在不对外暴露业务节点端口的前提下,实现管理节点对业务节点的安全访问。
进一步的,还包括:
请求转发模块,用于若接收到用户发送的包含所述对外端口和所述访问域名的服务访问请求时,调用所述域名解析服务将所述访问域名解析为所述代理IP地址,调用所述端口转换服务将所述对外端口转换为所述随机代理端口;还用于控制所述代理服务端利用所述代理IP地址和所述随机代理端口将所述服务访问请求发送至所述代理客户端,以便所述代理客户端将所述服务访问请求转发至所述目标服务进行处理。
进一步的,还包括:
认证模块,用于获取所述业务节点的节点信息,并将所述节点信息转发至认证端进行认证;还用于若所述业务节点未通过所述认证端的认证,则拒绝对所述目标服务进行注册。
进一步的,还包括:
异常处理模块,用于判断所述代理服务端是否出现异常;若是,则建立所述代理客户端与所述管理节点中的其他代理服务端的单向连接双向通行通道;还用于向所述域名解析服务注册所述访问域名与所述其他代理服务端的代理IP地址的对应关系;还用于在所述其他代理服务端中为所述目标服务注册新的随机代理端口,并向所述端口转换服务注册所述对外端口与新的随机代理端口的对应关系。
进一步的,还包括:
注销模块,用于在判定所述代理服务端出现异常后,在域名解析服务中注销所述访问域名与所述代理服务端的代理IP地址的对应关系;还用于在端口转换服务中注销所述对外端口与所述随机代理端口的对应关系。
本申请实施例还提供一种业务节点的服务访问系统,应用于部署了代理服务端的管理节点,所述代理服务端与业务节点中部署的代理客户端建立了单向连接双向通行通道,所述业务节点通过所述代理客户端向所述管理节点注册服务,所述管理节点的域名解析服务中注册有所述服务的访问域名与所述代理服务端的代理IP地址的对应关系,所述管理节点的端口转换服务中注册了对外接口与所述代理服务端的随机代理接口的对应关系,所述业务节点的服务访问系统包括:
访问请求接收模块,用于接收服务访问请求,并确定所述服务访问请求中包含的目标访问域名和目标对外端口;
域名解析模块,用于调用所述域名解析服务将所述目标访问域名解析为所述代理IP地址;
端口转换模块,用于调用端口转换服务将所述目标对外端口转换为目标随机代理端口;
请求转发模块,用于控制所述代理服务端利用所述代理IP地址和所述目标随机代理端口将所述服务访问请求发送至所述代理客户端,以便所述代理客户端将所述服务访问请求转发至对应的服务进行处理。
进一步的,还包括:
认证模块,用于获取所述业务节点的节点信息,并将所述节点信息转发至认证端进行认证;还用于若所述业务节点未通过所述认证端的认证,则拒绝对所述目标服务进行注册。
进一步的,还包括:
异常处理模块,用于判断所述代理服务端是否出现异常;若是,则建立所述代理客户端与所述管理节点中的其他代理服务端的单向连接双向通行通道;还用于向所述域名解析服务注册所述访问域名与所述其他代理服务端的代理IP地址的对应关系;还用于在所述其他代理服务端中为所述目标服务注册新的随机代理端口,并向所述端口转换服务注册所述对外端口与新的随机代理端口的对应关系。
进一步的,还包括:
注销模块,用于在判定所述代理服务端出现异常后,在域名解析服务中注销所述访问域名与所述代理服务端的代理IP地址的对应关系;还用于在端口转换服务中注销所述对外端口与所述随机代理端口的对应关系。
由于系统部分的实施例与方法部分的实施例相互对应,因此系统部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本申请还提供了一种存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请还提供了一种电子设备,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然所述电子设备还可以包括各种网络接口,电源等组件。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种业务节点的服务访问方法,其特征在于,应用于部署了代理服务端的管理节点,所述代理服务端与业务节点中部署的代理客户端建立了单向连接双向通行通道,所述业务节点的服务访问方法包括:
接收所述业务节点通过所述代理客户端发送的目标服务的注册请求;
将所述目标服务的名称注册为访问域名,并向域名解析服务注册所述访问域名与所述代理服务端的代理IP地址的对应关系;
在所述代理服务端中为所述目标服务注册随机代理端口,并向端口转换服务注册对外端口与所述随机代理端口的对应关系;
将所述访问域名和所述对外端口提供给用户,以便所述用户利用所述访问域名和所述对外端口访问所述业务节点的所述目标服务。
2.根据权利要求1所述业务节点的服务访问方法,其特征在于,还包括:
若接收到用户发送的包含所述对外端口和所述访问域名的服务访问请求时,调用所述域名解析服务将所述访问域名解析为所述代理IP地址,调用所述端口转换服务将所述对外端口转换为所述随机代理端口;
控制所述代理服务端利用所述代理IP地址和所述随机代理端口将所述服务访问请求发送至所述代理客户端,以便所述代理客户端将所述服务访问请求转发至所述目标服务进行处理。
3.根据权利要求1所述业务节点的服务访问方法,其特征在于,在接收所述业务节点通过所述代理客户端发送的目标服务的注册请求之后,还包括:
获取所述业务节点的节点信息,并将所述节点信息转发至认证端进行认证;
若所述业务节点未通过所述认证端的认证,则拒绝对所述目标服务进行注册。
4.根据权利要求1所述业务节点的服务访问方法,其特征在于,还包括:
判断所述代理服务端是否出现异常;
若是,则建立所述代理客户端与所述管理节点中的其他代理服务端的单向连接双向通行通道;
向所述域名解析服务注册所述访问域名与所述其他代理服务端的代理IP地址的对应关系;
在所述其他代理服务端中为所述目标服务注册新的随机代理端口,并向所述端口转换服务注册所述对外端口与新的随机代理端口的对应关系。
5.根据权利要求4所述业务节点的服务访问方法,其特征在于,在判定所述代理服务端出现异常后,还包括:
在域名解析服务中注销所述访问域名与所述代理服务端的代理IP地址的对应关系;
在端口转换服务中注销所述对外端口与所述随机代理端口的对应关系。
6.一种业务节点的服务访问方法,其特征在于,应用于部署了代理服务端的管理节点,所述代理服务端与业务节点中部署的代理客户端建立了单向连接双向通行通道,所述业务节点通过所述代理客户端向所述管理节点注册服务,所述管理节点的域名解析服务中注册有所述服务的访问域名与所述代理服务端的代理IP地址的对应关系,所述管理节点的端口转换服务中注册了对外接口与所述代理服务端的随机代理接口的对应关系,所述业务节点的服务访问方法包括:
接收服务访问请求,并确定所述服务访问请求中包含的目标访问域名和目标对外端口;
调用所述域名解析服务将所述目标访问域名解析为所述代理IP地址;
调用端口转换服务将所述目标对外端口转换为目标随机代理端口;
控制所述代理服务端利用所述代理IP地址和所述目标随机代理端口将所述服务访问请求发送至所述代理客户端,以便所述代理客户端将所述服务访问请求转发至对应的服务进行处理。
7.一种业务节点的服务访问系统,其特征在于,应用于部署了代理服务端的管理节点,所述代理服务端与业务节点中部署的代理客户端建立了单向连接双向通行通道,所述业务节点的服务访问系统包括:
注册请求接收模块,用于接收所述业务节点通过所述代理客户端发送的目标服务的注册请求;
域名注册模块,用于将所述目标服务的名称注册为访问域名,并向域名解析服务注册所述访问域名与所述代理服务端的代理IP地址的对应关系;
端口注册模块,用于在所述代理服务端中为所述目标服务注册随机代理端口,并向端口转换服务注册对外端口与所述随机代理端口的对应关系;
服务访问模块,用于将所述访问域名和所述对外端口提供给用户,以便所述用户利用所述访问域名和所述对外端口访问所述业务节点的所述目标服务。
8.一种业务节点的服务访问系统,其特征在于,应用于部署了代理服务端的管理节点,所述代理服务端与业务节点中部署的代理客户端建立了单向连接双向通行通道,所述业务节点通过所述代理客户端向所述管理节点注册服务,所述管理节点的域名解析服务中注册有所述服务的访问域名与所述代理服务端的代理IP地址的对应关系,所述管理节点的端口转换服务中注册了对外接口与所述代理服务端的随机代理接口的对应关系,所述业务节点的服务访问系统包括:
访问请求接收模块,用于接收服务访问请求,并确定所述服务访问请求中包含的目标访问域名和目标对外端口;
域名解析模块,用于调用所述域名解析服务将所述目标访问域名解析为所述代理IP地址;
端口转换模块,用于调用端口转换服务将所述目标对外端口转换为目标随机代理端口;
请求转发模块,用于控制所述代理服务端利用所述代理IP地址和所述目标随机代理端口将所述服务访问请求发送至所述代理客户端,以便所述代理客户端将所述服务访问请求转发至对应的服务进行处理。
9.一种电子设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如权利要求1至6任一项所述业务节点的服务访问方法的步骤。
10.一种存储介质,其特征在于,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如权利要求1至6任一项所述业务节点的服务访问方法的步骤。
CN202311556803.0A 2023-11-20 2023-11-20 业务节点的服务访问方法、系统、电子设备及存储介质 Pending CN117579352A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311556803.0A CN117579352A (zh) 2023-11-20 2023-11-20 业务节点的服务访问方法、系统、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311556803.0A CN117579352A (zh) 2023-11-20 2023-11-20 业务节点的服务访问方法、系统、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN117579352A true CN117579352A (zh) 2024-02-20

Family

ID=89893162

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311556803.0A Pending CN117579352A (zh) 2023-11-20 2023-11-20 业务节点的服务访问方法、系统、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN117579352A (zh)

Similar Documents

Publication Publication Date Title
US7035281B1 (en) Wireless provisioning device
US8909743B2 (en) Dynamic session maintenance for mobile computing devices
KR100953805B1 (ko) 이동 컴퓨팅 장치를 위한 가상사설망 구조 재사용
EP3831042A1 (en) Transparent network function discovery and addressing
CN104883305A (zh) 用于进行diameter消息处理器间路由的方法、系统和计算机可读介质
US9369432B2 (en) System and method for secure network communications
WO2007008856A9 (en) Unified architecture for remote network access
CN102790808A (zh) 一种域名解析方法和系统、一种客户端
CN109450905B (zh) 传输数据的方法和装置及系统
CN111327668B (zh) 网络管理方法、装置、设备和存储介质
CN113364741A (zh) 一种应用访问方法及代理服务器
CN113364660A (zh) Lvs负载均衡中的数据包处理方法及装置
CN110149235B (zh) 一种支持多用户和多网络协议、可动态扩展的树状网络代理系统
US9888001B2 (en) Methods, systems, and computer readable media for negotiating diameter capabilities
JPH10126440A (ja) ネットワーク通信方法および装置
EP1593230B1 (en) Terminating a session in a network
CN108123943B (zh) 信息验证方法及装置
CN117579352A (zh) 业务节点的服务访问方法、系统、电子设备及存储介质
US20070147376A1 (en) Router-assisted DDoS protection by tunneling replicas
JP5345651B2 (ja) セキュアトンネリングプラットフォームシステム及び方法
Jeong et al. Lisp controller: a centralized lisp management system for isp networks
JP3973357B2 (ja) ポート番号の収束、展開方法及びそのゲートウェイサーバ
CN107547659A (zh) 报文安全转发方法及装置
KR20180022565A (ko) 비-ue 관련 시그널링을 지원하는 통신 방법 및 장치
US11792718B2 (en) Authentication chaining in micro branch deployment

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