调用CreateForwardEntry接口在DNAT列表中添加DNAT条目。

API描述

每条DNAT条目由五部分组成,包括ExternalIpExternalPortIpProtocolInternalIpInternalPort。添加DNAT条目后,NAT网关会将ExternalIp:ExternalPort上收到的指定协议的报文转发给InternalIp:InternalPort,并将回复消息原路返回。

调用本接口添加DNAT条目时,请注意:

  • CreateForwardEntry接口属于异步接口,即系统会先返回一个DNAT条目ID,但该DNAT条目并未添加完成,系统后台的添加任务仍在进行。您可以调用DescribeForwardTableEntries查询DNAT条目的状态:
    • 当DNAT条目处于Pending状态时,表示DNAT条目正在添加中,在该状态下,您只能执行查询操作,不能执行其他操作。
    • 当DNAT条目处于Available状态时,表示DNAT条目添加完成。
  • 所有DNAT条目的ExternalIpExternalPortIpProtocol三个字段组成的组合必须互不重复,即不允许将同一个源IP、同一个端口、同一个协议的消息转发到多个目标ECS实例。
  • 所有DNAT条目的IpProtocolInternalIpInternalPort三个字段组成的组合也必须互不重复。
  • 当DNAT表中有DNAT条目的状态处于PendingModifying状态时,无法添加DNAT条目。
  • 一个DNAT表最多可添加100条DNAT条目。
  • DNAT条目中配置了IP映射方式的EIP不能再被其他DNAT条目或SNAT条目使用。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String CreateForwardEntry

要执行的操作,取值:CreateForwardEntry

ExternalIp String 116.28.XX.XX

提供公网访问的公网IP地址,该公网IP需满足以下条件:

  • 对于2017年11月03日之前账户下存在NAT带宽包的用户,ExternalIp必须是该NAT网关的NAT带宽包中的公网IP地址。
  • 对于2017年11月03日之前账户下不存在NAT带宽包的用户,ExternalIp必须是绑定了该NAT网关的弹性公网IP。
ExternalPort String 8080

需要进行端口转发的外部端口,取值范围:1~65535

ForwardTableId String ftb-bp1mbjubq34hlcqpa****

DNAT列表的ID。

InternalIp String 192.168.XX.XX

需要进行公网通信的ECS实例的私网IP地址,该私网IP地址需满足以下条件:

  • 必须属于NAT网关所在的VPC的网段。
  • 必须被一个ECS实例使用且该实例没有绑定EIP时,DNAT条目才生效。
InternalPort String 80

需要进行端口转发的内部端口,取值范围:1~65535

IpProtocol String TCP

协议类型,取值:

  • TCP:转发TCP协议的报文。
  • UDP:转发UDP协议的报文。
  • Any:转发所有协议的报文。如果IpProtocol 配置为Any,则ExternalPortInternalPort也必须配置为Any,实现DNAT IP映射。
RegionId String cn-hangzhou

NAT网关所在的地域ID。您可以通过调用DescribeRegions接口获取地域ID。

ForwardEntryName String ForwardEntry-1

DNAT规则的名称。

长度为2~128个字符,必须以大小写字母或中文开头,但不能以http://https://开头。

ClientToken String 0c593ea1-3bea-11e9-b96b-88e9fe6****

保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符,且不能超过64个字符。

PortBreak Boolean false

是否开启端口突破,取值:

  • true:开启端口突破。
  • false(默认值):不开启端口突破。
说明 当DNAT条目和SNAT条目使用同一个公网IP地址时,如果您想配置大于1024的端口号,您需要指定PortBreaktrue

返回数据

名称 类型 示例值 描述
ForwardEntryId String fwd-119smw5tkasdf****

DNAT条目的ID。

RequestId String A4AEE536-A97A-40EB-9EBE-53A6948A6928

请求ID。

示例

请求示例

http(s)://[Endpoint]/?Action=CreateForwardEntry
&ExternalIp=116.28.XX.XX
&ExternalPort=8080
&ForwardTableId=ftb-bp1mbjubq34hlcqpa****
&InternalIp=192.168.XX.XX
&InternalPort=80
&IpProtocol=TCP
&RegionId=cn-hangzhou
&<公共请求参数>

正常返回示例

XML格式

<CreateForwardEntryResponse>
  <RequestId>A4AEE536-A97A-40EB-9EBE-53A6948A6928</RequestId>
  <ForwardEntryId>fwd-119smw5tkasdf****</ForwardEntryId>
</CreateForwardEntryResponse>

JSON格式

{
    "RequestId": "A4AEE536-A97A-40EB-9EBE-53A6948A6928",
    "ForwardEntryId": "fwd-119smw5tkasdf****"
}

错误码

HttpCode 错误码 错误信息 描述
404 InvalidRegionId.NotFound The specified RegionId does not exist in our records. 指定的regionid不存在。
400 InvalidExternalIp.Malformed The specified ExternalIp is not a