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

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

场景示例

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

image

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

前提条件

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

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

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

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

使用限制

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

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

关于NAT网关的更多相关问题,请参见NAT网关常见问题

配置步骤

步骤一:创建公网NAT网关

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

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

  3. NAT网关页面,配置以下购买信息,然后单击立即购买

    配置项

    说明

    地域

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

    网络及可用区

    请选择NAT网关所属的VPC和交换机。创建成功后,无法进行修改或切换。

    网络类型

    本文选择公网NAT网关

    • 公网NAT网关:具备网络地址转换能力,可以绑定弹性公网IP,从而为ECS实例提供访问互联网的能力,实现私网和公网之间的通信。

    • VPC NAT网关:同样具备网络地址转换能力,但无法绑定弹性公网IP,只能为ECS实例提供私网内部的地址转换,适用于内网地址隐藏、地址冲突规避等场景。

    弹性公网IP

    本文选择新购弹性公网IP

    • 选择已有

      弹性公网IP实例:选择未绑定实例的弹性公网IP。

    • 新购弹性公网IP:默认创建BGP(多线)类型的按使用流量计费的弹性公网IP,可根据自身业务需要选择带宽峰值

      说明
      • 如需绑定其他线路类型计费类型的弹性公网IP,请先申请弹性公网IP,然后选择已有进行绑定。

      • 每绑定一个弹性公网IP,将占用NAT网关所在交换机的一个私网IP地址。请确保该交换机具有足够的可用私网IP地址,否则将无法成功绑定新的弹性公网IP。

    • 稍后配置:成功创建的NAT网关将不具备公网能力,用户需手动绑定弹性公网IP。

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

    image

步骤二:添加路由条目

在路由表中添加0.0.0.0/0,并将其指向NAT网关,以便将IPv4流量转发至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条目

在完成路由条目的配置后,需在NAT网关上配置相应的SNAT条目,以确保指定资源能够通过绑定的弹性公网IP访问互联网。

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

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

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

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

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

    配置项

    说明

    SNAT条目粒度

    本文选择VPC粒度。您可以根据实际业务需求,选择适合自身业务的SNAT条目粒度。

    • VPC粒度:适用于需要让VPC内所有ECS实例,以及通过CEN或专线等产品实现内网互通并配置了0.0.0.0/0路由条目指向该VPC的其他VPC或数据IDC内的ECS实例,统一通过同一弹性公网IP访问公网的场景。

    • 交换机粒度:适用于对公网访问有精细控制需求,只允许指定的交换机具备公网访问能力的场景。

    • ECS/弹性网卡粒度:适用于对公网访问有精细控制需求,只允许指定的ECS实例或弹性网卡具备公网访问能力的场景。

    • 自定义网段粒度:适用于需要灵活指定任意IP网段,通过NAT网关统一配置公网访问能力的场景,可覆盖VPC内、跨VPC或跨本地IDC等各种网络环境,满足复杂或定制化网络结构的需求。

    说明

    当您选择多个交换机或ECS/弹性网卡时,将为您创建多条SNAT条目,这些条目将使用相同的公网IP地址。

    选择弹性公网IP地址

    选择用来提供公网访问的弹性公网IP。

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

    image

结果验证

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

说明

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

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

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

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

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

    测试连通性

常见问题

为什么某些可用区无法购买NAT网关?

由于资源建设原因,NAT网关在某些可用区尚未部署。然而,用户可以在任意已部署NAT网关的可用区创建NAT网关,从而为整个VPC内任意可用区的实例或资源提供公网访问服务。

在配置ECS实例的公网访问时,如何判断固定公网IP、EIP、SNAT条目和DNAT条目(任意端口)的优先级?

固定公网IP/EIP > DNAT IP映射(任意端口) > SNAT条目绑定的EIP。