使用CreateForwardEntry在DNAT列表中添加DNAT条目。

API描述

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

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

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

调试

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

请求参数

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

要执行的操作,取值:CreateForwardEntry

ExternalIp String 116.xx.xx.28

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

  • 对于2017年11月3日之前账户下存在NAT带宽包的用户,ExternalIp必须是该NAT网关的NAT带宽包中的公网IP地址。
  • 对于2017年11月3日之前账户下不存在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条目才生效。如果该InternalIp被HAVIP、SLB或RDS等非ECS资源使用,DNAT条目无效,公网流量无法转发到该IP上。
InternalPort String 80

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

IpProtocol String TCP

协议类型,取值:

  • TCP:转发TCP协议的报文。
  • UDP:转发UDP协议的报文。
  • Any:转发所有协议的报文。
RegionId String cn-hangzhou

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

ForwardEntryName String ForwardEntry-1

DNAT规则的名称。

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

ClientToken String 0c593ea1-3bea-11e9-b96b-88e9fe637760

保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。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。

示例

请求示例

https://vpc.aliyuncs.com/?Action=CreateForwardEntry
&ExternalIp=116.xx.xx.28
&ExternalPort=8080
&ForwardTableId=ftb-bp1mbjubq34hlcqpa****
&InternalIp=192.168.xx.xx
&InternalPort=80
&IpProtocol=TCP
&RegionId=cn-hangzhou
&<公共请求参数>

正常返回示例

XML 格式

<CreateForwardEntryResponse>
	  <ForwardEntryId>fwd-119smw5tkasdf****</ForwardEntryId>
	  <RequestId>2315DEB7-5E92-423A-91F7-4C1EC9AD97C3</RequestId>
</CreateForwardEntryResponse>

JSON 格式

{
    "ForwardEntryId": "fwd-119smw5tkasdf****",
    "RequestId": "2315DEB7-5E92-423A-91F7-4C1EC9AD97C3"
}