使用转发路由器实现多个VPC共用NAT网关

使用转发路由器可以实现在多个专有网络VPC(Virtual Private Cloud)共用一个公网NAT网关,从而达到多VPC访问公网的效果。

背景信息

云企业网CEN(Cloud Enterprise Network)是运行在阿里云私有全球网络上的一张高可用网络。云企业网通过转发路由器TR(Transit Router)帮助您在跨地域VPC之间,VPC与本地数据中心IDC(Internet Data Center)间搭建私网通信通道。

转发路由器实例是地域范围内的核心转发网元,为您转发同地域或跨地域间的流量,并支持定义灵活的路由策略。在一个云企业网实例中,一个地域支持创建一个转发路由器实例。您可以将网络实例连接到企业版转发路由器。企业版转发路由器连接网络实例后,通过转发路由器路由表存储网络实例的路由。企业版转发路由器通过查询路由表中的路由条目信息转发网络实例的流量。

关于转发路由器的更多信息,请参见转发路由器工作原理

场景示例

本文以下图场景为例,某公司在华东1(杭州)地域创建了两个VPC,名称分别为VPC1和VPC2。在VPC1中创建了交换机1,且在交换机1中创建了一台名为ECS1的云服务器ECS(Elastic Compute Service)。在VPC2中创建了交换机2,且在交换机2中创建了一台名为ECS2的ECS实例。因公司业务需要,VPC1与VPC2都需要访问公网。

公司可以通过使用转发路由器并结合转发路由器路由表功能,然后在VPC1中创建公网NAT网关,同时为公网NAT网关配置SNAT规则,实现VPC1和VPC2通过公网NAT网关访问公网。

image

前提条件

  • 您已经参考下表完成了VPC和交换机的创建。具体操作,请参见创建和管理专有网络

    VPC名称

    地域

    网段

    交换机名称

    可用区和网段

    VPC1

    华东1(杭州)

    192.168.0.0/16

    交换机1

    杭州可用区H,192.168.0.0/24

    华东1(杭州)

    192.168.0.0/16

    交换机2

    杭州可用区H,192.168.5.0/24

    VPC2

    华东1(杭州)

    172.16.0.0/12

    交换机3

    杭州可用区H,172.28.48.0/20

    说明

    使用企业版转发路由器创建VPC连接前,请确保VPC实例在企业版转发路由器支持的可用区拥有至少一个交换机实例,且该交换机实例拥有至少一个空闲的IP地址。例如,华东1(杭州)地域的企业版转发路由器支持的可用区为杭州可用区H和杭州可用区I。关于企业版转发路由器支持的可用区信息,请参考转发路由器的版本

  • 您已经在交换机1中创建了ECS1实例,在交换机2中创建了ECS2实例。具体操作,请参见自定义购买实例

  • 您已经创建了云企业网实例。具体操作,请参见创建云企业网实例

  • 您已经在VPC实例所在地域创建了企业版转发路由器实例。具体操作,请参见创建转发路由器实例

配置步骤

image

步骤一:创建公网NAT网关

在VPC1中以全通模式创建公网NAT网关。

  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网关的地域。

    本文选择华东1(杭州)

    所属专有网络

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

    本文选择VPC1

    关联交换机

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

    本文选择交换机2

    计费类型

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

    计费周期

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

    实例名称

    输入公网NAT网关实例的名称。

    本文输入为公网NAT网关

    访问模式

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

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

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

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

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

    本文选择VPC全通模式(SNAT)

    弹性公网IP

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

    • 选择已有:在弹性网关IP实例下拉列表中选择已有的EIP实例绑定到公网NAT网关实例的EIP。

    • 新购弹性公网IP:在公网NAT网关实例地域新购按量付费EIP实例。

    本文选择新购弹性公网IP,新购EIP的线路类型默认为BGP(多线),默认选择默认版本的安全防护,然后配置带宽峰值并选择计费类型按使用流量计费

  5. 确认订单页面,确认订单中的配置信息,阅读并选中服务协议然后单击确认订单

  6. 单击返回控制台,在公网NAT网关页面,找到创建的公网NAT网关,然后单击其实例ID。

    • 基本信息页签指向NAT的VPC路由信息区域,查看路由信息,该路由所属路由表为VPC1的系统路由表,目标网段为0.0.0.0/0,下一跳为创建的公网NAT网关。

    • 单击SNAT管理页签,在SNAT条目列表区域查看以全通模式配置的SNAT条目,VPC1均可以通过该SNAT条目访问公网。

步骤二:创建VPC连接并配置路由

在华东1(杭州)地域的转发路由器中创建VPC1连接和VPC2连接,并为转发路由器配置路由。

  1. 登录云企业网管理控制台
  2. 云企业网实例页面,找到目标云企业网实例,单击目标实例ID。
  3. 基本信息 > 转发路由器页签,找到目标地域的转发路由器实例,在操作列单击创建网络实例连接

  4. 连接网络实例页面,配置以下参数信息创建VPC连接,然后单击确定创建

    下表列出VPC1连接和VPC2连接的配置参数。

    说明

    在初次执行此操作时,系统会自动为您创建一个名称为AliyunServiceRoleForCEN的服务关联角色。该角色允许转发路由器实例在VPC的交换机上创建ENI。更多信息,请参见AliyunServiceRoleForCEN

    配置

    说明

    配置值

    实例类型

    选择待连接的网络实例类型。

    选择专有网络(VPC)

    地域

    选择待连接的网络实例所在的地域。

    选择华东1(杭州)

    转发路由器

    系统自动显示当前地域下已创建的转发路由器实例。

    默认选择华东1(杭州)的转发路由器实例。

    资源归属UID

    选择待连接的网络实例所属的账号类型。

    选择同账号

    付费方式

    转发路由器的计费模式默认为按量付费

    按量付费的计费规则,请参见计费说明

    默认选择为按量付费

    连接名称

    输入VPC连接的名称。

    • VPC1连接:输入VPC1连接

    • VPC2连接:输入VPC2连接

    网络实例

    选择待连接的VPC实例ID。

    • VPC1连接:选择VPC1。

    • VPC2连接:选择VPC2。

    交换机

    在转发路由器支持的可用区选择一个交换机实例。

    • VPC1连接:选择交换机1。

    • VPC2连接:选择交换机3。

    高级配置

    系统默认为您选中三种高级功能,即自动关联至转发路由器的默认路由表自动传播系统路由至转发路由器的默认路由表自动为VPC的所有路由表配置指向转发路由器的路由

    保持默认配置。

    VPC1连接和VPC2连接创建完成后,您可以在地域内连接管理页签查看具体的连接信息。具体操作,请参见查看网络实例连接

  5. 在转发路由器详情页面,单击转发路由器路由表页签,然后单击创建路由表

  6. 创建路由表对话框,输入路由表名称可信路由表,输入路由表描述,然后单击确定

  7. 选择可信路由表,在路由表详情页面,单击路由条目页签,然后单击创建路由条目

  8. 添加路由条目对话框,配置以下参数信息,然后单击确定

    配置

    说明

    路由条目名称

    输入路由条目的名称。

    本文输入指向VPC2连接的路由

    目的地址CIDR

    设置目的地址的CIDR网段。

    本文设置为172.16.0.0/12

    是否为黑洞路由

    本文选择

    下一跳连接

    选择下一跳的网络连接。

    本文选择VPC2连接。

    路由条目描述

    输入路由条目的描述信息。

    本文输入可信路由表指向VPC2连接的路由条目

  9. 单击关联转发页签,然后单击创建关联转发,在添加关联转发对话框的关联转发下拉列表中选择VPC1连接,单击确定

    转发路由器连接网络实例后,您可以为网络实例连接创建关联转发关系,将网络实例连接关联至指定的路由表。关联后,转发路由器将依据该路由表中的路由条目信息转发网络实例的流量。更多信息,请参见关联转发

  10. 选择系统路由表,在路由表详情页面的基本信息区域,在名称右侧单击编辑

  11. 在弹出的对话框,输入不可信路由表,然后单击确定

  12. 选择不可信路由表,单击路由条目页签,然后单击创建路由条目

  13. 添加路由条目对话框,配置以下参数信息,然后单击确定

    配置

    说明

    路由条目名称

    输入路由条目的名称。

    本文输入指向VPC1连接的路由

    目的地址CIDR

    设置目的地址的CIDR网段。

    本文设置为0.0.0.0/0

    是否为黑洞路由

    本文选择

    下一跳连接

    选择下一跳的网络连接。

    本文选择VPC1连接。

    路由条目描述

    输入路由条目的描述信息。

    本文输入不可信路由表指向VPC1连接的路由条目

  14. 单击关联转发页签,然后单击创建关联转发,在关联转发下拉列表中选择VPC2连接,单击确定

步骤三:配置VPC路由表

为VPC2的系统路由表配置路由条目。

  1. 登录专有网络管理控制台
  2. 在左侧导航栏,单击路由表
  3. 路由表页面,找到VPC2的系统路由表,单击路由表的ID。

  4. 在路由表详情页面,单击路由条目列表 > 自定义路由条目页签,然后单击添加路由条目

  5. 添加路由条目面板,配置以下参数信息,然后单击确定

    配置

    说明

    名称

    输入路由条目的名称。

    目标网段

    本文选择IPv4网段,然后设置0.0.0.0/0

    下一跳类型

    选择下一跳的实例类型。

    本文选择转发路由器

    转发路由器

    本文选择VPC2连接。

    您可以在自定义路由条目页签,查看已创建的指向VPC2连接的路由条目。

步骤四:测试连通性

测试VPC1和VPC2的连通性。

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

  2. 执行ping命令,pingVPC2的ECS2实例私网IP地址。

    收到如下图所示的回复报文,则表明VPC1至VPC2的网络已连通。test1

  3. 登录VPC2的ECS2实例。

  4. 执行ping命令,pingVPC1的ECS1实例私网IP地址。

    收到如下图所示的回复报文,则表明VPC2至VPC1的网络已连通。test2

测试VPC1和VPC2的ECS实例是否能访问公网。

  1. 登录VPC1的ECS1实例。

  2. 执行ping www.aliyun.com命令。

    收到如下图所示的回复报文,则表明ECS1实例可以访问公网。

    经验证,ECS1实例可以访问公网。test3

  3. 登录接收端VPC2的ECS2实例。

  4. 执行ping www.aliyun.com命令。

    收到如下图所示的回复报文,则表明ECS2实例可以访问公网。

    经验证,ECS2实例可以访问公网。test4