VPC NAT网关配合物理专线实现本地IDC与云上互访

本文指导您VPC NAT网关的SNAT和DNAT功能如何配合物理专线实现本地数据中心IDC(Internet Data Center)与云上固定私网地址互访。

场景示例

本文以下图场景为例。某企业在阿里云华东2(上海)地域已经部署了一个专有网络VPC(Virtual Private Cloud)和交换机,交换机中创建了多台ECS实例。该企业云下总部已通过物理专线和边界路由器VBR(Virtual Border Router)接入阿里云。云上的VPC与总部已经通过云企业网CEN(Cloud Enterprise Network)互通。然而,企业要求VPC与总部互访时的私网IP地址固定。

VPC NAT场景

您可以通过VPC NAT网关的SNAT功能和DNAT功能,实现VPC内ECS实例使用固定私网IP地址与总部IDC互访。本文的网段规划如下表所示。您也可以自行规划网段,请确保您的网段之间没有重叠。

配置项

地址段

云上VPC1网段

192.168.0.0/16

云上交换机网段

  • VSW1:192.168.10.0/24

  • VSW2:192.168.20.0/24

  • NATVSW:192.168.3.0/24

云上ECS实例的IP地址

  • ECS1:192.168.10.55

  • ECS2:192.168.20.30

本地IDC网段

172.16.0.0/12

本地IDC中服务器的IP地址

172.16.10.137

互联IP

  • 云端VBR地址:10.0.0.2/30

  • 本地IDC端:10.0.0.1/30

前提条件

  • 您已经在华东2(上海)地域创建了名称为VPC1的专有网络,并在VPC1创建了名称为VSW1和VSW2的交换机。VSW1位于可用区F,VSW2位于可用区G。具体操作,请参见创建和管理专有网络

    说明

    使用企业版转发路由器创建VPC连接前,请确保VPC实例在企业版转发路由器支持的可用区拥有至少一个交换机实例,且该交换机实例拥有至少一个空闲的IP地址。本文创建的转发路由器实例在华东2(上海)地域,支持的可用区为上海可用区F和上海可用区G。

  • 您已经在VPC1中创建了名称为NATVSW的中转交换机,位于可用区H。

  • 您已经在VSW1和VSW2中分别创建名称为ECS1和ECS2的ECS实例并部署了应用服务。具体操作,请参见自定义购买实例

  • 您已在华东2(上海)地域创建了物理专线和边界路由器VBR(Virtual Private Cloud)。具体操作,请参见创建和管理独享专线连接创建和管理边界路由器

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

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

配置步骤

步骤

步骤一:连接VPC实例和VBR实例

您需要在华东2(上海)地域的转发路由器中创建与物理专线关联的VBR连接和需要互通的VPC连接,实现本地IDC和VPC的私网互通。

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

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

    说明

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

    参数

    配置

    实例类型

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

    本文选择专有网络(VPC)

    地域

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

    本文选择华东2(上海)

    转发路由器

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

    资源归属UID

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

    本文选择同账号

    付费方式

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

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

    网络实例

    选择待连接的VPC实例ID。

    本文选择已创建的VPC。

    交换机

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

    高级配置

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

    本文保持默认配置。

  5. 连接网络实例页面,单击继续创建连接

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

    参数

    配置

    实例类型

    本文选择边界路由器(VBR)

    地域

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

    本文选择华东2(上海)地域。

    转发路由器

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

    资源归属UID

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

    本文使用默认值同账号

    网络实例

    选择待连接的VBR实例ID。

    本文选择已创建的VBR1实例。

    高级配置

    系统默认为您选中三种高级功能,即自动关联至转发路由器的默认路由表自动传播系统路由至转发路由器的默认路由表自动发布路由到VBR

    本文保持默认配置。

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

步骤二:配置VBR路由

在VBR上配置指向本地IDC的路由。

  1. 登录高速通道管理控制台

  2. 在顶部菜单栏,选择目标地域,然后在左侧导航栏,单击边界路由器(VBR)

  3. 边界路由器(VBR)页面,单击目标VBR实例ID。

  4. 在边界路由器详情页面,单击路由条目页签,然后单击添加路由条目

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

    参数

    说明

    下一跳类型

    选择路由条目的下一跳类型。本文选择物理专线接口

    目标网段

    本文输入本地IDC中服务器的IP地址:172.16.10.137

    下一跳

    选择物理专线接口。

步骤三:创建VPC NAT网关

  1. 登录NAT网关管理控制台
  2. 在左侧导航栏,选择NAT网关 > VPC NAT网关
  3. VPC NAT网关页面,单击创建VPC NAT网关
  4. VPC NAT网关(按量付费)页面,配置以下参数信息,然后单击立即购买

    参数

    说明

    地域

    选择需要创建VPC NAT网关实例的地域。本文选择华东2(上海)

    VPC ID

    选择VPC NAT网关实例所属的VPC。创建VPC NAT网关实例后,不能修改其所属的VPC。本文选择VPC1。

    可用区

    选择VPC NAT网关实例所属的可用区。本文选择NATVSW的可用区,即可用区H

    交换机ID

    选择VPC NAT网关实例所属的交换机。本文选择NATVSW。

    实例名称

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

    名称长度为1~128个字符。本文设置为VPC_NATGW

    服务关联角色

    显示是否已有VPC NAT网关的服务关联角色。

    初次使用NAT网关(包含公网NAT网关和VPC NAT网关),需要单击创建服务关联角色完成创建。

  5. 确认订单页面,确认参数的配置信息并选中服务协议,然后单击立即开通

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

步骤四:为VPC1的系统路由表添加路由条目

为VPC1的系统路由表添加指向VPC NAT网关的路由条目。

  1. 登录专有网络管理控制台
  2. 专有网络,找到VPC1,然后单击VPC的ID。

  3. 在VPC详情页面,单击资源管理页签,单击路由表下方的链接。

  4. 路由表页面,找到路由表类型系统的路由表,单击其ID。

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

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

    参数

    说明

    名称

    输入路由条目的名称。本文输入VPCENTRY

    目标网段

    输入要转发到的目标网段。本文输入本地IDC中服务器的IP地址:172.16.10.137

    下一跳类型

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

    NAT网关

    选择具体的NAT网关实例。本文选择VPC NAT网关。

步骤五:创建自定义路由表并添加路由条目

为NATVSW交换机创建自定义路由表并添加指向转发路由器的路由条目。

关于支持创建自定义路由表的地域信息,请参见自定义路由表发布及地域支持情况

  1. 登录专有网络管理控制台
  2. 在左侧导航栏,单击路由表
  3. 在顶部菜单栏,选择路由表所属的地域。
  4. 执行以下步骤,创建自定义路由表并绑定交换机。

    1. 路由表页面,单击创建路由表

    2. 创建路由表页面,配置以下参数信息,然后单击确定

      参数

      说明

      资源组

      选择路由表所属的资源组。本文选择全部

      专有网络

      选择路由表所属的VPC。本文选择VPC1。

      名称

      输入路由表的名称。本文输入NATVTB

      描述

      输入路由表的描述。本文输入VPCNAT的自定义路由表。

    3. 单击已绑定交换机页签,然后单击绑定交换机

    4. 绑定交换机对话框,选择要绑定的交换机,然后单击确定

      本文选择NATVSW交换机。

  5. 执行以下步骤,为自定义路由表添加路由条目。

    1. 路由表,找到已创建的自定义路由表,单击路由表的ID。

    2. 选择路由条目列表 > 自定义路由条目页签,单击添加路由条目

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

      参数

      说明

      名称

      输入路由条目的名称。本文输入VPCNATENTRY

      目标网段

      输入要转发到的目标网段。本文输入本地IDC中服务器的IP地址:172.16.10.137

      下一跳类型

      选择下一跳的类型。本文选择转发路由器

      转发路由器

      选择具体的转发路由器实例。本文选择加入至转发路由器的VPC1连接。

步骤六:使用默认NAT IP创建SNAT条目和DNAT条目

创建SNAT条目,使得云上ECS实例可以访问本地IDC。创建DNAT条目,使得云上ECS实例可以被本地IDC访问。

  1. 登录NAT网关管理控制台
  2. 在左侧导航栏,选择NAT网关 > VPC NAT网关
  3. 在顶部菜单栏,选择公网NAT网关的地域。
  4. 执行以下步骤,创建SNAT条目。

    1. VPC NAT网关页面,找到目标VPC NAT网关实例,然后在操作列单击SNAT管理
    2. SNAT管理页签,单击创建SNAT条目
    3. 创建SNAT条目页面,配置以下参数信息,然后单击确定创建

      参数

      说明

      SNAT条目粒度

      选择SNAT条目的粒度。本文选择交换机粒度,然后在选择交换机列表中选择云上ECS实例所在交换机。本文选择VSW1。交换机网段处会显示VSW1的网段。

      选择NAT IP地址

      在下拉列表中选择用来访问外部私有网络的NAT IP地址。本文选择默认NAT IP地址。

      条目名称

      SNAT条目的名称。

  5. 返回VPC NAT网关页面,然后执行以下操作,创建DNAT条目。

    1. VPC NAT网关页面,找到目标VPC NAT网关实例,然后在操作列单击DNAT管理
    2. DNAT管理页签,单击创建DNAT条目
    3. 创建DNAT条目页面,配置以下参数信息,然后单击确定创建

      参数

      说明

      选择NAT IP地址

      选择供外部私有网络访问的NAT IP地址。 本文选择默认NAT IP地址。

      选择私网IP地址

      选择要通过DNAT规则进行通信的私网IP地址。本文以通过ECS或弹性网卡进行选择方式,选择云上ECS1的私网IP地址。

      端口设置

      选择DNAT映射的方式。本文选择端口映射方式。选择具体端口,然后输入前端端口22后端端口22,选择协议类型TCP

      条目名称

      输入DNAT条目的名称。

步骤七:配置本地IDC路由

上述步骤已完成阿里云上的配置,您还需要在物理专线接入设备上配置指向VPC的路由。

在本地网关设备配置到云上VPC的路由,配置的路由示例如下。

说明

路由示例仅供参考,不同厂商的不同设备可能会有所不同。

ip route 192.168.0.0 255.255.0.0 10.0.0.2

步骤八:测试连通性

测试云上ECS实例是否与本地IDC互访。

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

  2. 执行ping本地IDC内服务器IP地址命令,测试ECS1是否能访问本地IDC内的服务器。

    本文执行以下命令。

    ping 172.16.10.137

    如果能接收到回复报文,表示连接成功。

  3. 登录本地IDC内的服务器,执行ssh root@NAT IP命令,此处的NAT IP为VPC NAT网关的默认NAT IP地址,然后输入ECS1的登录密码,测试本地IDC内的服务器是否可以远程连接到ECS1。

    本文执行以下命令。

    ssh 192.168.3.132

    如果能接收到回复报文,表示连接成功。