一种实现双活网络地址转换网关的方法技术

技术编号:30139360 阅读:12 留言:0更新日期:2021-09-23 14:57
本发明专利技术提供一种实现双活网络地址转换网关的方法,属于NAT网关技术领域,本发明专利技术使用OVS/OVS DPDK实现NAT,SNAT和DNAT。使用核心交换机策略路由和ECMP分流。使用openflow规则做NAT,SNAT和DNAT。使用ECMP实现高可用和水平扩展。避免了频繁的状态表同步,实现了两个NAT网关双活的模式。关双活的模式。关双活的模式。

【技术实现步骤摘要】
一种实现双活网络地址转换网关的方法


[0001]本专利技术涉及NAT网关
,尤其涉及一种实现双活网络地址转换网关的方法。

技术介绍

[0002]NAT网关实现主备工作时,只有一个节点处于工作状态,另一个节点只是备用,处于闲置状态,这就造成资源浪费。现有的一些实现双活的方案异常复杂,它需要进行状态表同步,对于TCP的状态表同步,只要任何一个方向的TCP包序号发生改变时都要做,因此同步状态表基本不切实际。

技术实现思路

[0003]为了解决以上技术问题,本专利技术提供了一种实现双活网络地址转换网关的方法,避免了频繁的状态表同步,同时还能实现双活的工作模式。
[0004]本专利技术的技术方案是:
[0005]一种实现双活网络地址转换网关的方法,利用交换机的ECMP能力实现到NAT网关的流量的负载均衡,但是对于任何一个连接(包括有状态的和无状态的),只有一个NAT网关有该连接的状态表,当ECMP把该连接的包分发到另一个没有该连接的NAT网关时,该NAT网关会把包送到本地的状态表查看是否有连接在,如果没有则设置标记,NAT网关看到该标记就知道本地没有状态表,它就会把包送到另外一个NAT网关,每一个NAT网关都会这么做,这样,对于任何连接的数据包,不管ECMP把它分发到哪一个NAT网关,最终都会在有该连接状态的NAT网关节点上处理,从而实现了两个NAT网关双活的模式。
[0006]进一步的,
[0007]1)使用OVS/OVS DPDK实现NAT,SNAT和DNAT;
>[0008]2)使用核心交换机策略路由和ECMP分流;
[0009]3)使用openflow规则做NAT,SNAT和DNAT;
[0010]4)使用ECMP实现高可用和水平扩展。
[0011]进一步的,
[0012]对源IP是浮动IP,目标IP是EIP的流量,交换机配置两条策略路由,一条到NAT网关1,一条到NAT网关2,这样就对出去的流量启动了ECMP,同时需要配置ECMP使用源IP,源端口,目标IP,目标端口来分发流量,从而做到尽可能的负载均衡。
[0013]对源IP和目标IP都是EIP的流量,交换机需要配置两条策略路由,一条到NAT网关1,一条到NAT网关2,这样就对回来的流量启动了ECMP,ECMP分流使用的五元组是全局配置,这里就无须配置了。
[0014]每个NAT网关配置四个网络接口,一个是内部数据接口,一个是外部数据接口,一个是管理IP接口,一个是状态表同步接口。
[0015]两个NAT网关的管理IP使用VRRP配置一个VIP,一旦一个NAT网关故障,管理VIP将自动切换到另一个NAT网关。
[0016]管理IP有主备之分,以确保配置总是先配置到主,然后再由主把配置同步到备上。
[0017]两个NAT网关的内部数据接口和外部数据接口不需要VRRP管理,链路的好坏由交换机去检测判断,当然NAT网关本地也必须要有周期性的检测机制,确保数据接口故障后管理VIP的及时切换和连接状态表的及时同步。
[0018]每个NAT网关为每个配置的SNAT和DNAT添加另外的openflow规则,来把不属于该NAT网关连接状态表的连接的流量重新发送到另一个NAT网关。
[0019]每一个NAT网关启动conntrackd后台服务,当管理VIP发生切换时,借助它把故障的NAT网关的连接状态表同步到工作的NAT网关上来。
[0020]本专利技术的有益效果是
[0021]1)使用低成本的方法实现NAT网关的高可用性和水平扩展。
[0022]2)使用现有的技术,开发部署快。
[0023]3)避免使用额外的负载均衡设备和专有的NAT网关设备,大大降低部署和运维成本。
附图说明
[0024]图1是本专利技术的工作流程示意图。
具体实施方式
[0025]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例,基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0026]本专利技术利用交换机的ECMP能力实现到NAT网关的流量的负载均衡,但是对于任何一个连接(包括有状态的和无状态的),只有一个NAT网关有该连接的状态表,当ECMP把该连接的包分发到另一个没有该连接的NAT网关时,该NAT网关会把包送到本地的状态表查看是否有连接在,如果没有会设置标记,NAT网关看到该标记就知道本地没有状态表,它就会把包送到另外一个NAT网关,每一个NAT网关都会这么做,这样,对于任何连接的数据包,不管ECMP把它分发到哪一个NAT网关,最终都会在有该连接状态的NAT网关节点上处理,从而实现了两个NAT网关双活的模式。
[0027]NAT网关有三种情况要处理:
[0028]1)一对一的NAT,对于这种NAT,因为它是无状态的,所以天然就支持双活模式,任何一个NAT网关都能处理这种连接的任何数据包;
[0029]2)对于SNAT和DNAT(它们是有连接的),如果ECMP仍然把属于一个连接的包分发到同一个NAT网关,也无须特殊考虑,但这种可能性较低;
[0030]3)对于SNAT和DNAT,如果ECMP把属于一个连接的包分发到不同的NAT网关,此时该连接第一个包分发到的网关拥有状态表,当该连接反向的包分发到另一个NAT网关,该网关发现无连接状态,就会把包重新发送到有该连接状态的NAT网关,从而确保对于任何连接,进出的包总是被相同的NAT网关处理;
[0031]对于可靠性的保证,有两个机制来实现:
[0032]A、交换机能通过ARP检测到NAT网关不通,一旦出现这种情况,交换机将不再把数据包分发到该故障NAT网关,而是把所有的包都送到还正常工作的NAT网关;
[0033]B、此时工作的NAT网关也会通过另一个状态表同步通道(状态表同步网络接口,必须处在工作状态)把故障的NAT网关的状态表同步到工作的NAT网关,从而确保工作的NAT网关能全部接管故障NAT网关处理的所有连接,做到一个NAT网关故障不影响现有的网络连接。
[0034]两个NAT网关实现双活的具体部署如图1所示:
[0035]1)对源IP是浮动IP,目标IP是EIP的流量,交换机配置两条策略路由,一条到NAT网关1,一条到NAT网关2,这样就对出去的流量启动了ECMP,同时需要配置ECMP使用源IP,源端口,目标IP,目标端口来分发流量,从而做到尽可能的负载均衡。
[0036]2)对源IP和目标IP都是EIP的流量,交换机也需要配置两条策略路由,一条到NAT网关1,一条到NAT网关2,这样就对回来的流量启动了ECMP(ECMP分流使用的五元组是全局配置,这里就无须配置了)。
[0037]3)每个NAT网关本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种实现双活网络地址转换网关的方法,其特征在于,利用交换机的ECMP能力实现到NAT网关的流量的负载均衡,但是对于任何一个连接(包括有状态的和无状态的),只有一个NAT网关有该连接的状态表,当ECMP把该连接的包分发到另一个没有该连接的NAT网关时,该NAT网关会把包送到本地的状态表查看是否有连接在,如果没有则设置标记,NAT网关看到该标记就知道本地没有状态表,它就会把包送到另外一个NAT网关,每一个NAT网关都会这么做;对于任何连接的数据包,不管ECMP把它分发到哪一个NAT网关,最终都会在有该连接状态的NAT网关节点上处理。2.根据权利要求1所述的方法,其特征在于,1)使用OVS/OVSDPDK实现NAT,SNAT和DNAT;2)使用核心交换机策略路由和ECMP分流;3)使用openflow规则做NAT,SNAT和DNAT;4)使用ECMP实现高可用和水平扩展。3.根据权利要求2所述的方法,其特征在于,对源IP是浮动IP,目标IP是EIP的流量,交换机配置两条策略路由,一条到NAT网关1,一条到NAT网关2,这样就对出去的流量启动了ECMP,同时需要配置ECMP使用源IP,源端口,目标IP,目标端口来分发流量,从而做到尽可能的负载均衡。4.根据权利要求2所述的方法,其特征在于,对源IP和目标IP都是EIP的流量,交换机需要配置两条策略路由,一条到NAT网...

【专利技术属性】
技术研发人员:杨燚张晖孙思清李彦君
申请(专利权)人:浪潮云信息技术股份公司
类型:发明
国别省市:

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

1