全部产品
专有网络 VPC

添加DNAT条目

更新时间:2017-08-08 11:16:50   分享:   

描述

在DNAT表(端口转发表)中添加DNAT条目。

添加DNAT条目时,注意:

  • 每条DNAT条目由五部分组成:[ExternalIp,ExternalPort,Protocal,InternalIp,InternalPort]。

  • DNAT条目的效果是:将ExternalIp:ExternalPort上收到的指定协议的消息转发给InternalIp:InternalPort,并将回复消息原路返回。

  • ExternalIp的约束:

    • 必须是该NAT网关的共享带宽包中的公网IP。
    • 目前暂时只支持TCP和UDP两种协议,也可以指定为Any,即不限制协议类型。
    • 一个公网IP不能同时用于DNAT条目和SNAT条目中。
  • InternalIp的约束:

    • InternalIp必需属于本VPC的网段范围。
    • 该IP地址可以是一个存在的ECS私网IP地址,也可以是一个不存在的IP地址。
    • 只有当InternalIp被一个ECS实例使用且该实例没有绑定EIP时,DNAT条目才生效。若该IP地址被HAVIP/SLB/RDS等非ECS资源使用,DNAT条目无效,公网流量无法转发到该IP上。
  • 唯一性要求:

    • 所有DNAT条目的[公网IP、公网端口、协议]三个字段组成的组合必须互不重复。即不允许将同一个源IP、同一个端口、同一个协议的消息转发到多个目标。

    • 所有DNAT条目的[目标私网IP、目标私网端口、协议]三个字段组成的组合也必须互不重复。

  • 当DNAT表中有DNAT条目的状态处于Pending或Modifying状态时,无法添加DNAT条目。

  • 一个DNAT表最多可添加40条DNAT条目。

请求参数

请求参数 类型 是否必须 描述
Action String 系统规定参数,取值:CreateForwardEntry
RegionId String NAT网关的所属地域。
ForwardTableId String DNAT表的ID。
ExternalIp String 用来转发和接收请求的公网IP。
ExternalPort String

公网端口。

取值:1-65535。

IpProtocol String

协议类型。

可选值:TCP、UDP、Any。

InternalIp String 目标私网IP。
InternalPort String

目标私网端口。

取值:1-65535。

返回参数

返回参数 类型 描述
ForwardEntryId String 系统分配的DNAT条目ID。

错误码

错误代码 错误信息 HTTP状态码 说明
InvalidRegionId.NotFound The specified RegionId is not found in our record. 404 指定的地域不存在。
InvalidForwardTableId.NotFound Specified forward table does not exist. 404 指定的DNAT表不存在。
InvalidExternalIp.NotFound Specified Source Ip address does not found on the VRouter 404 指定的公网IP不存在。
QuotaExceeded.ForwardEntry Forward entry quota exceeded in this route table. 400 一个DNAT表中的DNAT条目不能超过40条。
IncorretForwardEntryStatus Some Forward entry status blocked this operation. 400 无法创建DNAT条目。DNAT表中有DNAT条目的状态处于Pending或Modifying状态。
InvalidProtocal.ValueNotSupportedc The specified IpProtocol does not exist or IpProtocol and ExternalPort or InternalPort do not match. 400 指定协议不支持。
InvalidInternalIp.Malformed The specified InternalIp is not a valid IP address. 400 指定的目标私网IP不合法。
InvalidExternalIp.Malformed The specified ExternalIp is not a valid IP address. 400 指定的公网IP不合法。
InvalidExternalPort.Malformed The specified ExternalPort is not a valid port. 400 指定的公网端口不合法。
InvalidInternalPort.Malformed The specified InternalPort is not a valid port. 400 指定的私网端口不合法。
Forbidden.PortsAndIpProtocol ExternalPort/InternalPort/IpProtocol must be all Any or all not Any. 400 ExternalPort、InternalPort、IpProtocol必须同时为Any或者同时不为Any。
ForwardEntry.Duplicated.Source The specified <ExternalIp, IpProtocol, ExternalPort> is duplicated 400 与已存在的DNAT条目冲突:公网IP、公网端口和协议。
ForwardEntry.Duplicated.Destination The specified <InternalIp, InternalPort> is duplicated 400 与已存在的DNAT条目冲突:私网IP、私网端口、协议。
Forbidden.DestnationIpOutOfVpcCIDR The specified Destination Ip is Out of VPC CIDR 400 指定的私网IP不属于本VPC。
Forbidden.ExternalIp.UsedInSnatTable The specified ExternalIp is already used in SnatTable 400 指定的公网IP已用在SNAT条目中。

示例

请求示例

  1. https://vpc.aliyuncs.com/?ExternalIp=139.224.22.107&SignatureVersion=1.0&Format=json&TimeStamp=2016-05-23T03%3A53%3A18Z&RegionId=cn-shanghai&ExternalPort=Any&InternalIp=192.168.1.1&Signature=iR4GSzhJQtowMJOj%2FRth3ABP4FA%3D&AccessKeyId=jZgi0oyrQ6ihgKp9&ForwardTableId=ftb-11tc6xgmv&SignatureMethod=HMAC-SHA1&Version=2016-04-28&IpProtocol=Any&action=CreateForwardEntry&SignatureNonce=e2ceae11-2099-11e6-b548-2cf0ee28adf2&InternalPort=Any

返回示例

JSON 格式

  1. {
  2. "ForwardEntryId": "fwd-119smw5tk",
  3. "RequestId": "A4AEE536-A97A-40EB-9EBE-53A6948A6928"
  4. }
本文导读目录
本文导读目录
以上内容是否对您有帮助?