使用公网NAT网关SNAT功能访问互联网

本文指导您配置公网NAT网关的SNAT条目,实现无公网IP的云服务器 ECS(Elastic Compute Service)实例通过公网NAT网关访问互联网。

操作视频

您可以通过以下视频了解如何使用公网NAT网关SNAT功能访问互联网。

场景示例

本文以下图场景为例。某公司在阿里云创建了专有网络VPC(Virtual Private Cloud)和交换机,交换机中创建了多个ECS实例。ECS实例均未分配固定公网IP,也未绑定弹性公网IP(Elastic IP Address,简称EIP)。现因公司业务发展,每台ECS实例都需要访问互联网。

image

您可以通过公网NAT网关的SNAT功能,配置SNAT条目,使得VPC内无公网IP的ECS实例可以通过公网NAT网关绑定的EIP访问互联网。

前提条件

  • 您已经创建了VPC和2个交换机,且交换机中已经创建了ECS实例。具体操作,请参见搭建IPv4专有网络

  • 请确保已创建的VPC满足以下条件:

    • VPC中不存在目标网段为0.0.0.0/0的自定义路由。如果存在,请删除该路由条目。

    • 如果您使用的是RAM用户(子账号),请确保其具备访问VPC的权限。否则,请联系阿里云账号(主账号)进行授权。

使用限制

一个公网NAT网关默认支持创建40条SNAT条目。

您可以通过以下任意方式自助提升配额:

关于SNAT功能的更多相关问题,请参见SNAT功能FAQ

配置步骤

image

步骤一:创建公网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网关的地域。

    所属专有网络

    选择公网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网关的配置信息,选中服务协议并单击确认订单

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

创建成功后,您可以在公网NAT网关页面查看已创建的公网NAT网关实例。创建NAT网关

步骤二:绑定EIP

公网NAT网关作为一个网关设备,需要绑定EIP才能正常工作。创建公网NAT网关后,您可以为其绑定EIP。

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

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

  3. 公网NAT网关页面,找到目标公网NAT网关实例,然后在弹性公网IP列单击立即绑定

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

    配置

    说明

    所在资源组

    选择EIP所在的资源组。

    选择弹性公网IP

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

    本文以选择新购弹性公网IP并绑定为例。系统会为您创建1个按使用流量计费的按量付费EIP,并绑定到公网NAT网关。

绑定成功后,在公网NAT网关实例的弹性公网IP列将会显示出绑定的EIP。绑定EIP

步骤三:创建SNAT条目

您可以通过公网NAT网关的SNAT功能,创建SNAT条目,使得VPC内无公网IP的ECS实例可以通过公网NAT网关的EIP访问公网。

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

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

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

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

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

    配置

    说明

    SNAT条目粒度

    选择SNAT条目的粒度。本文以选择交换机粒度为例:指定交换机下的ECS实例通过配置的公网IP访问公网。

    • 选择交换机:在下拉列表中选择交换机。

      说明

      如您选择多个交换机,将会为您创建多条SNAT条目,使用相同的公网IP地址。

    • 交换机网段:选择后显示交换机的网段。

    选择公网IP地址

    选择用来提供公网访问的公网IP。本文以选择使用单IP为例,在下拉列表中选择步骤二中绑定至公网NAT网关的EIP。

    条目名称

    输入SNAT条目的名称。

创建成功后,在SNAT条目列表区域查看配置的SNAT条目。snat

步骤四:添加路由条目

为VPC路由表添加指向公网NAT网关的自定义路由条目。

  • 当ECS实例所属交换机绑定自定义路由表时:您需手动配置指向公网NAT网关的路由条目。

  • 当ECS实例所属交换机绑定系统路由表

    • 若系统路由表中不存在0.0.0.0/0的路由条目,在创建公网NAT网关后,系统将自动配置指向该公网NAT网关的路由条目。因此,您可以跳过本步骤

    • 若系统路由表中存在0.0.0.0/0的路由条目,在创建公网NAT网关后,需首先删除现有的路由条目,随后再添加指向公网NAT网关的路由条目。

  1. 登录专有网络管理控制台

  2. 在左侧导航栏,单击路由表

  3. 在顶部菜单栏,选择路由表所属的地域。

  4. 路由表页面,找到目标路由表,单击路由表的ID。

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

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

    配置

    说明

    名称

    输入自定义路由条目的名称。

    资源组

    选择下一跳所属的资源组。

    目标网段

    输入要转发到的目标网段。

    本教程选择IPv4网段,然后输入0.0.0.0/0。

    下一跳类型

    在下拉列表中选择NAT网关

    NAT网关

    选择创建的公网NAT网关实例。

    描述

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

步骤五:测试连通性

SNAT条目配置成功后,您可以测试ECS实例的网络连通性。本文以Linux系统为例,测试ECS实例的连通性。

说明

请确保ECS实例的安全组规则允许ECS实例访问公网,安全组的配置规则请参见安全组概述

  1. 登录交换机下的任意一台ECS实例。具体操作,请参见ECS连接方式概述

  2. 执行ping命令,ping www.aliyun.com测试网络连通性。

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

    经测试,ECS实例可以访问公网。

    测试连通性