统一ECS实例的公网出口IP,有利于您更高效的管理互联网业务。本文为您介绍如何为设置了DNAT IP映射的ECS实例统一公网出口IP。

前提条件

设置了DNAT IP映射的ECS实例所在的VPC已经配置了SNAT功能。详细信息,请参见创建和管理SNAT条目

背景信息

NAT网关提供SNAT功能,为VPC内无公网IP的ECS实例提供访问互联网的代理服务。如果VPC内某些ECS实例已经设置了DNAT IP映射(IP映射即所有端口映射),这些ECS实例会优先通过DNAT条目中的公网IP访问互联网,而VPC内的其他ECS实例通过NAT网关的SNAT功能代理访问互联网,造成VPC内ECS实例的公网出口IP不一致,不利于统一管理业务。NAT网关

您可以通过为ECS实例绑定弹性网卡来解决ECS实例公网出口IP不统一的问题。

如下图,您可以为ECS实例单独分配一块弹性网卡,然后移除NAT网关中的DNAT IP映射条目并创建新的DNAT条目,建立NAT网关上的公网IP与弹性网卡的映射关系,这样来自互联网的访问流量会经过弹性网卡到达ECS实例,当ECS实例需要访问互联网时会通过NAT网关进行转发。NAT网关2

步骤一:创建弹性网卡

  1. 登录云服务器ECS管理控制台
  2. 在左侧导航栏,选择网络与安全 > 弹性网卡
  3. 选择弹性网卡的地域。
    说明 弹性网卡的地域必须与ECS实例的地域相同。
  4. 弹性网卡页面,单击创建弹性网卡
  5. 创建弹性网卡对话框,根据以下信息配置弹性网卡,然后单击确定
    • 弹性网卡名称:输入弹性网卡的名称。
    • 专有网络:选择ECS实例所在的专有网络。
    • 交换机:选择ECS实例所在可用区的交换机。
    • 主私网IP(可选):输入弹性网卡的主私网IPv4地址。此IPv4地址必须属于交换机的CIDR网段中的空闲地址。如果您没有指定,创建弹性网卡时将自动为您分配一个空闲的私网IPv4地址。本文不指定主私网IP。
    • 辅助私网IP(可选):单击相应选项进行设置。本文选择不设置
    • 安全组:选择当前专有网络的一个安全组。
    更多参数信息,请参见创建弹性网卡

步骤二:将弹性网卡绑定到ECS实例

  1. 登录云服务器ECS管理控制台
  2. 在左侧导航栏中,选择网络与安全 > 弹性网卡
  3. 选择弹性网卡的地域。
  4. 弹性网卡页面,找到目标弹性网卡,然后在操作列单击绑定实例
  5. 在弹出的对话框中,选择要绑定的ECS实例,然后单击确定

步骤三:删除DNAT IP映射

  1. 登录NAT网关管理控制台
  2. 选择NAT网关的地域。
  3. NAT网关页面,找到目标NAT网关实例,单击操作列下的设置DNAT
  4. DNAT管理页签,找到目标DNAT条目,单击操作列下的删除
  5. 在弹出的对话框中,单击确定

步骤四:创建DNAT条目

完成以下操作,创建DNAT条目,建立NAT网关上的公网IP与弹性网卡的映射关系。

  1. 登录NAT网关管理控制台
  2. NAT网关页面,找到目标NAT网关实例,单击操作列下的设置DNAT
  3. DNAT管理页签,单击创建DNAT条目
  4. 创建DNAT条目页面,根据以下信息配置DNAT条目,然后单击确定创建
    • 选择公网IP地址:选择一个可用的公网IP。
    • 选择私网IP地址:通过ECS或弹性网卡进行选择。
    • 端口设置:选择任意端口
    • 条目名称:输入DNAT条目的名称。

步骤五:测试网络连通性

完成以下操作,测试互联网是否可以通过弹性网卡绑定的EIP访问ECS实例。本文以本地Linux设备远程连接ECS实例为例。
说明 远程连接ECS实例,请确认ECS实例的安全组已放行SSH(22)端口。更多信息,请参见添加安全组规则
  1. 登录本地Linux设备。
  2. 执行ssh <your username>@公网IP命令,然后输入ECS实例的登录密码,查看是否可以远程连接到实例。若界面上出现以下回显信息,表示您已经成功连接到实例。
    Welcome to Alibaba Cloud Elastic Compute Service!
    实例1

完成以下操作,测试ECS实例是否可以通过NAT网关的SNAT功能主动访问互联网。本操作以在ECS实例上查看公网出口IP为例。

  1. 登录ECS实例。
  2. 执行curl https://myip.ipip.net查看公网出口IP。若公网出口IP与NAT网关SNAT条目中的IP一致,即ECS实例优先通过NAT网关的SNAT功能主动访问互联网。实例2