一种SNAT方法、装置、电子设备及存储介质制造方法及图纸

技术编号:25921398 阅读:49 留言:0更新日期:2020-10-13 10:41
本申请实施例公开了一种SNAT方法、装置、电子设备及存储介质,涉及云计算技术领域,包括:接收用户通过终端发送的SNAT配置请求;对所述SNAT配置请求进行合法性校验;在所述SNAT配置请求通过合法性校验的情况下,根据所述SNAT配置请求对所述用户的当前SNAT规则进行更新;根据更新后的SNAT规则确定与所述用户匹配的目标公网出口IP;通过所述目标公网出口IP建立用户资源与外网之间的通信连接。本申请实施例能够提高公网出口IP的访问成功率,并优化公网出口IP的流量负载均衡。

【技术实现步骤摘要】
一种SNAT方法、装置、电子设备及存储介质
本申请实施例涉及计算机
,具体涉及云计算技术。
技术介绍
对于支持网络地址转换功能的云产品来说,SNAT(SourceNetworkAddressTranslation,源地址转换)功能是网络地址转换功能中其中一项地址转换功能,主要用于云内的资源与弹性公网IP(ElasticIP,EIP)进行绑定,使得云内的资源通过绑定的EIP访问外网资源。由于云内的资源都是通过绑定的EIP作为公网出口IP,因此,如何为云内各个资源定义有效的SNAT规则,对于云产品的访问成功率以及流量负载均衡问题的意义都十分重大。
技术实现思路
本申请实施例提供了一种SNAT方法、装置、电子设备及存储介质,以提高公网出口IP的访问成功率,并优化公网出口IP的流量负载均衡。第一方面,本申请实施例提供了一种SNAT方法,包括:接收用户通过终端发送的SNAT配置请求;对所述SNAT配置请求进行合法性校验;在所述SNAT配置请求通过合法性校验的情况下,根据所述SNAT配置请求对所述用户的当前SNAT规则进行更新;根据更新后的SNAT规则确定与所述用户匹配的目标公网出口IP;通过所述目标公网出口IP建立用户资源与外网之间的通信连接。第二方面,本申请实施例提供了一种SNAT装置,包括:请求接收模块,用于接收用户通过终端发送的SNAT配置请求;请求校验模块,用于对所述SNAT配置请求进行合法性校验;规则更新模块,用于在所述SNAT配置请求通过合法性校验的情况下,根据所述SNAT配置请求对所述用户的当前SNAT规则进行更新;出口IP确定模块,用于根据更新后的SNAT规则确定与所述用户匹配的目标公网出口IP;通信连接建立模块,用于通过所述目标公网出口IP建立用户资源与外网之间的通信连接。第三方面,本申请实施例提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面实施例所提供的SNAT方法。第四方面,本申请实施例还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行第一方面实施例所提供的SNAT方法。本申请实施例通过对用户通过终端发送的SNAT配置请求进行合法性校验,并在SNAT配置请求通过合法性校验的情况下,根据SNAT配置请求对用户的当前SNAT规则进行更新,以根据更新后的SNAT规则确定与用户匹配的目标公网出口IP,并通过目标公网出口IP建立用户资源与外网之间的通信连接,能够提高公网出口IP的访问成功率,并优化公网出口IP的流量负载均衡。应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。附图说明附图用于更好地理解本方案,不构成对本申请的限定。其中:图1是本申请实施例提供的一种SNAT方法的流程图;图2是本申请实施例提供的一种SNAT方法的流程图;图3是本申请实施例提供的一种SNAT装置的结构图;图4是用来实现本申请实施例的SNAT方法的电子设备的结构示意图。具体实施方式以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。目前,云产品,如云上NAT(NetworkAddressTranslation,网络地址转换)产品等,可以支持SNAT和DNAT(DestinationNetworkAddressTranslation,目的地址转换)。其中,SNAT功能需要云内各用户的用户资源绑定SNATEIP。具体实现时,NAT网关控制器(用于管理网络地址的映射关系等功能)会根据用户所提供的待绑定IP的个数,固定按照端口范围选择EIP。例如,假设共有6个EIP,每个EIP分别固定对应一组范围的端口号,6个EIP对应的端口号的总和为65536,且各EIP对应的端口号之间不互相重复。如果用户A所提供的待绑定IP通过12345的端口号访问外网,而12345的端口属于EIP3(6个EIP中的其中一个EIP)的绑定范围,则用户A只能通过EIP3访问外网。上述定义SNAT规则的方式存在较大的局限性,主要体现在:1)对于一些安全性需求较高或者有备案需求的业务,所访问的对端资源可能针对访问地址设置白名单限制或直接进行备案处理。如果云内的用户资源的EIP不属于对端资源的白名单或未进行备案,则会造成访问失败。2)当云内不同用户资源同时访问外网资源时,容易出现某一时刻访问请求的端口号集中出现在某一个范围的情况。此时如果所有的用户资源都通过同一个EIP访问外网,可能导致可用连接数不足的问题,或导致公网出口IP的流量负载不均衡的问题。在一个示例中,图1是本申请实施例提供的一种SNAT方法的流程图,本实施例可适用于用户自定义SNAT规则的情况,该方法可以由SNAT装置来执行,该装置可以由软件和/或硬件的方式来实现,并一般可集成在电子设备中。该电子设备可以是NAT网关设备,可以实现网络地址转换功能。相应的,如图1所示,该方法包括如下操作:S110、接收用户通过终端发送的SNAT配置请求。其中,SNAT配置请求可以用于对用户当前的SNAT规则进行自定义的配置,可以包括多种类型的SNAT自定义规则。SNAT自定义规则也即用户自定义的SNAT规则,例如,用户针对待绑定IP,从可选的EIP中指定一个或多个EIP作为公网出口IP。终端可以是用于对SNAT规则进行配置的终端,如网关控制器等,本申请实施例并不对终端的具体类型进行限定。在本申请实施例中,在检测到用户通过终端发送的SNAT配置请求后,可以接收用户通过终端发送的SNAT配置请求。S120、对所述SNAT配置请求进行合法性校验。相应的,在接收到SNAT配置请求后,进一步可以对接收的SNAT配置请求进行合法性校验。所谓合法性校验,可以是诸如对SNAT配置请求中用户指定的EIP是否符合SNAT条件进行校验,例如,校验用户指定的EIP的格式和所属网段范围是否符合SNAT要求,以及用户指定的EIP是否与DNAT绑定的EIP相冲突等,本申请实施例并不对合法性校验的具体校验内容进行限定。S130、在所述SNAT配置请求通过合法性校验的情况下,根据所述SNAT配置请求对所述用户的当前SNAT规则进行更新。其中,当前SNAT规则可以是用户当前所采用的SNAT规则,也即,用户当前针对SNAT功能所绑定的EIP本文档来自技高网...

【技术保护点】
1.一种源地址转换SNAT方法,包括:/n接收用户通过终端发送的SNAT配置请求;/n对所述SNAT配置请求进行合法性校验;/n在所述SNAT配置请求通过合法性校验的情况下,根据所述SNAT配置请求对所述用户的当前SNAT规则进行更新;/n根据更新后的SNAT规则确定与所述用户匹配的目标公网出口IP;/n通过所述目标公网出口IP建立用户资源与外网之间的通信连接。/n

【技术特征摘要】
1.一种源地址转换SNAT方法,包括:
接收用户通过终端发送的SNAT配置请求;
对所述SNAT配置请求进行合法性校验;
在所述SNAT配置请求通过合法性校验的情况下,根据所述SNAT配置请求对所述用户的当前SNAT规则进行更新;
根据更新后的SNAT规则确定与所述用户匹配的目标公网出口IP;
通过所述目标公网出口IP建立用户资源与外网之间的通信连接。


2.根据权利要求1所述的方法,其中,所述SNAT配置请求包括创建SNAT规则请求、修改SNAT规则请求、删除SNAT规则请求以及查看SNAT规则请求。


3.根据权利要求1或2所述的方法,其中,所述SNAT配置请求包括SNAT规则参数、SNAT标识参数以及规则动作参数。


4.根据权利要求1或2所述的方法,在所述接收用户通过终端发送的SNAT配置请求之后,还包括:
在对所述SNAT配置请求响应成功的情况下,向所述用户返回响应成功参数;
在对所述SNAT配置请求响应失败的情况下,向所述用户返回响应失败参数,或不执行返回参数的操作。


5.根据权利要求1所述的方法,其中,所述对所述SNAT配置请求进行合法性校验,包括:
根据预设IP校验规则,对所述SNAT配置请求中目标SNAT规则包括的公网出口IPEIP进行合法性校验;
其中,所述预设IP校验规则包括:
所述目标SNAT规则包括的EIP属于目标网段;
所述目标SNAT规则包括的EIP与目的地址转换DNATEIP互不冲突。


6.根据权利要求1所述的方法,其中,所述根据所述SNAT配置请求对所述用户的当前SNAT规则进行更新,包括:
将所述SNAT配置请求包括的目标SNAT规则与所述当前SNAT规则进行对比;
在确定所述目标SNAT规则与所述当前SNAT规则存在区别的情况下,将所述当前SNAT规则更新为所述目标SNAT规则。


7.根据权利要求6所述的方法,所述将所述当前SNAT规则更新为所述目标SNAT规则,包括:
在所述目标SNAT规则包括多个EIP的情况下,对各所述EIP的连接数进行均衡处理。


8.一种SNAT装置,包括:
请求接收模块,用于接收用户通过终端发送的SNAT配置请求;
请求校验模块,用于对所述SNAT配置请求进行合法性校验;
规则更新模块,用于在所述SNAT配置请求通...

【专利技术属性】
技术研发人员:雷思源黄志峰
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1