为设置了DNAT IP映射的ECS实例统一公网出口IP
更新时间:2020-03-13 23:18:21
统一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不一致,不利于统一管理业务。 您可以通过为ECS实例绑定弹性网卡来解决ECS实例公网出口IP不统一的问题。 如下图,您可以为ECS实例单独分配一块弹性网卡,然后移除NAT网关中的DNAT IP映射条目并创建新的DNAT条目,建立NAT网关上的公网IP与弹性网卡的映射关系,这样来自互联网的访问流量会经过弹性网卡到达ECS实例,当ECS实例需要访问互联网时会通过NAT网关进行转发。 完成以下操作,为ECS实例创建弹性网卡。
说明 弹性网卡的地域必须与ECS实例的地域相同。
前提条件
背景信息
步骤一:创建弹性网卡
- 网卡名称:输入弹性网卡的名称。
- 专有网络:选择ECS实例所在的专有网络。
- 交换机:选择ECS实例所在可用区的交换机。
- 主私网IP(可选):输入弹性网卡的主私网IPv4地址。此IPv4地址必须属于交换机的CIDR网段中的空闲地址。如果您没有指定,创建弹性网卡时将自动为您分配一个空闲的私网IPv4地址。
- 安全组:选择当前专有网络的一个安全组。
- 描述(可选):输入对弹性网卡的描述。
步骤二:将弹性网卡绑定到ECS实例
完成以下操作,将弹性网卡绑定到ECS实例。
- 登录云服务器ECS管理控制台。
- 在左侧导航栏中,选择 。
- 选择弹性网卡的地域。
- 在网卡列表页面,找到目标弹性网卡,单击操作列下的绑定实例。
- 在弹出的对话框中,选择要绑定的ECS实例,然后单击确定。
步骤三:移除DNAT IP映射
完成以下操作,移除NAT网关中的DNAT IP映射条目。
- 登录专有网络管理控制台。
- 在左侧导航栏,单击NAT网关。
- 选择NAT网关的地域。
- 在NAT网关页面,找到目标NAT网关实例,单击操作列下的设置DNAT。
- 在DNAT表页面,找到目标DNAT条目,单击操作列下的移除。
- 在弹出的对话框中,单击确定。
步骤四:创建DNAT条目
完成以下操作,创建DNAT条目,建立NAT网关上的公网IP与弹性网卡的映射关系。
- 登录专有网络管理控制台。
- 在左侧导航栏,单击NAT网关。
- 在NAT网关页面,找到目标NAT网关实例,单击操作列下的设置DNAT。
- 在DNAT表页面,单击创建DNAT条目。
- 在创建DNAT条目对话框,根据以下信息配置DNAT条目,然后单击确定。
- 公网IP地址:选择一个可用的公网IP。用于创建SNAT条目的公网IP不能再用来创建DNAT条目。
- 私网IP地址:选择弹性网卡实例。
- 端口设置:选择所有端口。
- 条目名称:输入DNAT条目的名称。
步骤五:测试网络连通性
完成以下操作,测试互联网是否可以通过弹性网卡绑定的EIP访问ECS实例。本操作以本地Linux设备远程连接Linux实例为例。
说明 远程连接Linux实例,Linux实例的安全组必须放行SSH(22)端口。详细信息,请参见添加安全组规则。
- 登录本地Linux设备。
- 执行
ssh root@公网IP
命令,然后输入Linux实例的登录密码,查看是否可以远程连接到实例。若界面上出现Welcome to Alibaba Cloud Elastic Compute Service!时,表示您已经成功连接到实例。
完成以下操作,测试ECS实例是否可以通过NAT网关的SNAT功能主动访问互联网。本操作以在linux实例上查看公网出口IP为例。
- 登录ECS实例。
- 执行
curl https://myip.ipip.net
查看公网出口IP。若公网出口IP与NAT网关SNAT条目中的IP一致,即ECS实例优先通过NAT网关的SNAT功能主动访问互联网。