全部产品

自建SNAT网关平滑迁移到NAT网关

更新时间:2017-08-03 09:12:20   分享:   

如果您已经在VPC中基于ECS搭建了SNAT网关,又想将架构切换为基于NAT网关实现的SNAT,您可以将原有自建SNAT网关拆除,再进行NAT网关的创建和配置。但该操作会导致SNAT功能中断一段时间。

本文提供一种操作方法,利用路由表的一些特性(主要是“最长匹配原则”),实现从自建SNAT网关到阿里云NAT网关的无缝切换。切换过程中,不会出现SNAT功能不可用,仅在切换的一瞬间发生已有TCP连接的断开,只需应用进行重连即可。

应用场景

  • VPC中有两个ECS实例:

    • i-9410jxxxx配置了自建的SNAT网关。这台ECS上绑定了一个EIP,并且开启了转发服务、配置了iptables规则以实现SNAT转发。
    • i-94kjwxxxx为需要SNAT功能来访问互联网的服务器。
  • VPC的路由器上,添加了一条自定义路由(目标网段为0.0.0.0/0),将公网访问请求转发给i-9410jxxxx。

操作步骤

  1. 在VPC中添加8条路由条目,对原有路由进行覆盖。

    路由条目的目标网段分别为1.0.0.0/8、2.0.0.0/7、4.0.0.0/6、8.0.0.0/5、16.0.0.0/4、32.0.0.0/3、64.0.0.0/2、128.0.0.0/1,下一跳均为i-9410jxxxx。

    由于路由表按照最长匹配原则,会优先匹配子网掩码最长的路由条目;而去往任意IP地址的数据包,都会匹配到这8条中的一条;因此,0.0.0.0/0这条路由实际上已经不再有用了。

    添加精细路由

  2. 删除目标网段为0.0.0.0/0的路由条目。

  3. 创建NAT网关。创建NAT网关时,系统会自动添加一条0.0.0.0/0的路由,指向NAT网关。

    1

  4. 在NAT网关中,创建一个共享带宽包。

    注意:确保NAT网关带宽包的带宽和自建NAT网关的带宽保持一致。因为只要在NAT网关添加了SNAT规则,SNAT规则中的ECS的出公网方向的流量就会受NAT网关带宽包带宽的限速。

  5. 配置SNAT规则。

  6. 删除VPC中添加的8条路由路由条目,使路由器把公网访问请求不再转发给自建SNAT,而是转发给NAT网关。

    至此,已经完成了从自建SNAT网关到使用官方NAT网关的SNAT功能的全部切换流程。

本文导读目录
本文导读目录
以上内容是否对您有帮助?