在同一个VPC内切换公网NAT网关实例

NAT网关控制台不支持在同一个VPC内直接切换公网NAT网关实例。您可以通过在同一个VPC内新建一个公网NAT网关,再修改目标网段为0.0.0.0/0的路由条目的方式实现公网NAT网关所属交换机或私网IP地址的变更。

操作流程

本文以在同一个VPC内切换公网NAT网关来变更公网NAT网关所属交换机为例进行介绍。国际站流程

前提条件

开始前,请确保满足以下条件:

  • 您已经在华东1(杭州)地域创建了一个VPC(名称为VPC1),并在该VPC中创建了两个交换机(名称为VSW1,位于可用区B;名称为VSW2,位于可用区H)。具体操作,请参见搭建IPv4专有网络

  • 您已经在交换机VSW1创建了一个名称为ECS1的ECS实例且不配置固定公网IP地址。具体操作,请参见自定义购买实例

  • 您已经在交换机VSW1创建了一个公网NAT网关A实例,且已配置了VPC1的SNAT条目和端口映射方式的DNAT条目(私网IP地址为ECS1的IP地址,公网端口和私网端口均为22,协议类型为TCP)。

步骤一:验证NAT网关A实例的功能

  1. 登录VSW1下的ECS1实例。具体操作,请参见ECS连接方式概述

  2. 执行ping命令测试网络连通性。

  3. 使用curl myip.ipip.net命令探测ECS1实例的公网出口IP。

    经测试,ECS1实例公网出口IP与NAT网关A实例中SNAT条目中的IP一致,即ECS1实例通过NAT网关A实例的SNAT功能主动访问互联网。公网ip

  4. 登录本地Linux设备。

  5. 执行ssh root@公网IP命令,此处的公网IP即为NAT网关A实例的DNAT条目中的公网IP地址,然后输入ECS1实例的登录密码,查看是否可以远程连接到实例。

    若界面上出现Welcome to Alibaba Cloud Elastic Compute Service!时,表示您已经成功连接到实例,即ECS1实例通过NAT网关A实例的DNAT功能提供公网访问能力。ssh

步骤二:创建NAT网关B实例并绑定EIP

NAT网关B实例关联的交换机为VSW2。

  1. 登录NAT网关管理控制台

  2. 公网NAT网关页面,单击创建公网NAT网关

  3. 首次使用NAT网关时,在创建公网NAT网关页面关联角色创建区域,单击创建关联角色。角色创建成功后即可创建NAT网关。

    创建角色 关于NAT网关服务关联角色的更多信息,请参见服务关联角色

  4. 在创建公网NAT网关页面,配置以下购买信息,然后单击立即购买

    配置

    说明

    付费模式

    默认选择为按量付费,即一种先使用后付费的付费模式。更多信息,请参见公网NAT网关计费

    资源组

    选择VPC所属的资源组。更多信息,请参见什么是资源组

    标签

    • 标签键:选择或输入完整的标签键。

      最多支持输入20个标签键。一个标签键最多支持128个字符,不能以aliyun和acs:开头,不能包含http://或者https://。

    • 标签值:选择或输入完整的标签值。

      最多支持输入20个标签值。一个标签值最多支持128个字符,不能以aliyun和acs:开头,不能包含http://或者https://。

    所属地域

    选择需要创建公网NAT网关的地域。

    所属专有网络

    选择公网NAT网关所属的VPC。创建后,不能修改公网NAT网关所属的VPC。

    关联交换机

    选择公网NAT网关实例所属的交换机。

    计费类型

    默认选择为按使用量计费,即按公网NAT网关实际使用量收费。更多信息,请参见公网NAT网关计费

    计费周期

    默认选择为按小时,即按使用量计费公网NAT网关的计费周期为1小时,不足1小时按1小时计算。

    实例名称

    设置公网NAT网关实例的名称。

    实例名称长度为2~128个字符,以英文大小写字母或中文开头,可包含数字、下划线(_)和短划线(-)。

    访问模式

    选择公网NAT网关的访问模式。支持以下两种模式:

    • VPC全通模式(SNAT):选择了VPC全通模式,在公网NAT网关创建成功后当前VPC内所有实例即可通过该公网NAT网关访问公网。

      选择VPC全通模式(SNAT)后,您需要配置弹性公网IP(Elastic IP Address,简称EIP)的相关信息。

    • 稍后配置:如需稍后配置或有更多配置需求,可在购买完成后,前往控制台进行配置。

      选择稍后配置,则只购买公网NAT网关实例。

    本文选择稍后配置

  5. 确认订单页面确认公网NAT网关的配置信息,选中服务协议并单击确认订单

    当出现恭喜,购买成功!的提示后,说明您创建成功。

  6. 返回公网NAT网关页面,找到已创建的NAT网关B实例,然后在弹性公网IP列单击立即绑定

  7. 绑定弹性公网IP对话框,配置以下参数,然后单击确定

    配置

    说明

    所在资源组

    选择EIP所在的资源组。

    选择弹性公网IP

    选择要绑定到公网NAT网关的EIP。

    本文选择新购弹性公网IP并绑定

步骤三:为NAT网关B实例创建SNAT条目和DNAT条目

为NAT网关B实例创建的SNAT条目和DNAT条目除了公网IP地址外,其余的规则需要与NAT网关A实例的相同。

  1. 登录NAT网关管理控制台

  2. 在顶部菜单栏,选择公网NAT网关的地域。

  3. 公网NAT网关页面,找到目标公网NAT网关实例,然后在操作列单击设置SNAT

  4. SNAT管理页签,单击创建SNAT条目

  5. 创建SNAT条目页面,配置以下参数,然后单击确定创建

    配置

    说明

    SNAT条目粒度

    选择SNAT条目的粒度。

    本文选择VPC粒度,即NAT网关B实例所属VPC1下的所有ECS实例都可以通过配置的SNAT规则访问互联网。

    选择公网IP地址

    选择用来提供互联网访问的公网IP。

    本文选择使用单IP,然后在下拉列表中选择绑定到NAT网关B实例的EIP。

    条目名称

    SNAT条目的名称。

    名称长度为2~128个字符,以大小写字母或中文开头, 可包含数字、下划线(_)和短划线(-)。

  6. 返回公网NAT网关页面,找到已创建的NAT网关B实例,然后在操作列单击设置DNAT

  7. DNAT管理页签,单击创建DNAT条目

  8. 创建DNAT条目页面,配置以下参数,然后单击确定创建

    配置

    说明

    选择公网IP地址

    选择要提供互联网通信的公网IP。本文选择绑定到NAT网关B实例的EIP。

    选择私网IP地址

    选择要通过DNAT规则进行公网通信的ECS实例。

    本文选择通过ECS或弹性网卡进行选择,然后在下拉列表中选择ECS1。

    端口设置

    选择DNAT映射的方式。

    本文选择具体端口,即DNAT端口映射方式,然后公网端口输入22私网端口输入22协议类型选择TCP

    条目名称

    输入DNAT条目的名称。

    名称长度为2~128个字符,以大小写字母或中文开头, 可包含数字、下划线(_)和短划线(-)。

步骤四:修改系统路由表中的自定义路由条目

在VPC内创建第一个公网NAT网关时,系统会在VPC系统路由表中自动添加一条目标网段为0.0.0.0/0,下一跳为公网NAT网关的路由条目,用于将流量路由到该公网NAT网关。因此创建了NAT网关B实例后,VPC系统路由表中并没有目标网段为0.0.0.0/0,下一跳为NAT网关B实例的路由条目,NAT网关B实例无法使用。您必须手动修改VPC系统路由表中目标网段为0.0.0.0/0的路由条目指向NAT网关B实例,才能完成将VPC中的NAT网关A实例切换为NAT网关B实例。

  1. 登录专有网络管理控制台
  2. 在左侧导航栏,单击路由表
  3. 在顶部菜单栏,选择路由表所属的地域。
  4. 路由表页面,找到VPC1的路由表,然后单击路由表的ID。

  5. 选择路由条目列表 > 自定义路由条目页签,找到目标网段为0.0.0.0/0,下一跳指向NAT网关A实例的自定义路由条目,然后在操作列单击删除

  6. 删除路由条目对话框,单击确定

  7. 单击添加路由条目,在添加路由条目面板,根据以下信息配置自定义路由条目,然后单击确定

    配置

    说明

    名称

    输入路由条目的名称。

    名称长度为2~128个字符之间,以英文字母或中文开头,可包含数字、短划线(-)和下划线(_)。

    目标网段

    输入需要将流量转发到的目标网段。本文选择IPv4网段,然后输入0.0.0.0/0

    下一跳类型

    选择下一跳的类型。本文选择NAT网关

    NAT网关

    选择下一跳实例。本文选择NAT网关B实例。

    说明

    路由条目切换后,存量的访问连接需要重连之后才能恢复,建议您在业务低峰期执行路由条目切换操作。

步骤五:测试验证

验证NAT网关A实例的功能是否已经切换到NAT网关B实例。本文是以变更NAT网关所属交换机为例进行介绍,在操作的过程中,同时完成了变更NAT网关的私网IP地址。如果您需要通过在同一个交换机下切换NAT网关来变更其私网IP地址,也可以参考本文进行操作。

  1. 登录VSW1下的ECS1实例。

  2. 执行ping命令测试网络连通性。

  3. 使用curl myip.ipip.net命令探测ECS1实例的公网出口IP。

    经测试,ECS1实例公网出口IP与NAT网关B实例中SNAT条目中的IP一致,即ECS1实例通过NAT网关B实例的SNAT功能主动访问互联网。snat

  4. 登录本地Linux设备。

  5. 执行ssh root@公网IP命令,此处的公网IP即为NAT网关B实例的DNAT条目中的公网IP地址,然后输入ECS1实例的登录密码,查看是否可以远程连接到实例。

    若界面上出现Welcome to Alibaba Cloud Elastic Compute Service!时,表示您已经成功连接到实例,即ECS1实例通过NAT网关B实例的DNAT功能提供公网访问能力。test