All Products
Search
Document Center

ENS:CreateForwardEntry

Last Updated:Mar 27, 2026

Adds a Destination Network Address Translation (DNAT) entry to a DNAT table.

Try it now

Try this API in OpenAPI Explorer, no manual signing needed. Successful calls auto-generate SDK code matching your parameters. Download it with built-in credential security for local usage.

Test

RAM authorization

The table below describes the authorization required to call this API. You can define it in a Resource Access Management (RAM) policy. The table's columns are detailed below:

  • Action: The actions can be used in the Action element of RAM permission policy statements to grant permissions to perform the operation.

  • API: The API that you can call to perform the action.

  • Access level: The predefined level of access granted for each API. Valid values: create, list, get, update, and delete.

  • Resource type: The type of the resource that supports authorization to perform the action. It indicates if the action supports resource-level permission. The specified resource must be compatible with the action. Otherwise, the policy will be ineffective.

    • For APIs with resource-level permissions, required resource types are marked with an asterisk (*). Specify the corresponding Alibaba Cloud Resource Name (ARN) in the Resource element of the policy.

    • For APIs without resource-level permissions, it is shown as All Resources. Use an asterisk (*) in the Resource element of the policy.

  • Condition key: The condition keys defined by the service. The key allows for granular control, applying to either actions alone or actions associated with specific resources. In addition to service-specific condition keys, Alibaba Cloud provides a set of common condition keys applicable across all RAM-supported services.

  • Dependent action: The dependent actions required to run the action. To complete the action, the RAM user or the RAM role must have the permissions to perform all dependent actions.

Action

Access level

Resource type

Condition key

Dependent action

ens:CreateForwardEntry

create

*All Resource

*

None None

Request parameters

Parameter

Type

Required

Description

Example

NatGatewayId

string

Yes

The ID of the Network Address Translation (NAT) gateway.

nat-5t7nh1cfm6kxiszlttr38****

ExternalIp

string

Yes

The elastic IP address (EIP) that is used to access the Internet.

121.XXX.XXX.28

ExternalPort

string

Yes

The external port or port range that is used for port forwarding.

  • Valid values: 1 to 65535.

  • To specify a port range, separate the first port and the last port with a forward slash (/), such as 10/20.

  • If you set ExternalPort to a port range, you must also set InternalPort to a port range. The number of ports in the port ranges must be the same. For example, if you set ExternalPort to 10/20, you can set InternalPort to 80/90.

22

InternalIp

string

Yes

The private IP address of the instance that uses the DNAT entry for Internet communication.

10.0.XXX.XXX

InternalPort

string

Yes

The internal port or port range that is used for port forwarding.

  • Valid values: 1 to 65535.

  • To specify a port range, separate the first port and the last port with a forward slash (/), such as 10/20.

22

ForwardEntryName

string

No

The name of the DNAT entry. The name must be 2 to 128 characters in length. The name cannot start with http:// or https://.

test0

IpProtocol

string

No

The protocol. Valid values:

  • TCP: forwards TCP packets.

  • UDP: forwards UDP packets.

  • Any (default): forwards all packets.

Any

HealthCheckPort

integer

No

The probe port. The port must be within the internal port range. By default, this parameter is left empty.

80

StandbyExternalIp

string

No

The secondary EIP that is used to access the Internet. You need to select a secondary EIP that is bound to NAT. After the DNAT entry is created, the secondary EIP takes effect.

101.XXX.XXX.4

Response elements

Element

Type

Description

Example

object

Schema of Response

RequestId

string

The ID of the request.

EF6D6FA4-DACA-5822-A981-81006271D263

ForwardEntryId

string

The ID of the DNAT entry.

fwd-5tc07cw14metghn3siv4a****

Examples

Success response

JSON format

{
  "RequestId": "EF6D6FA4-DACA-5822-A981-81006271D263",
  "ForwardEntryId": "fwd-5tc07cw14metghn3siv4a****"
}

Error codes

HTTP status code

Error code

Error message

Description

400 Invalid%s The specified parameter %s is invalid.
400 Missing%s You must specify the parameter %s.
400 InvalidParameter.NatNotFound The specified Nat is not found. The specified parameter Nat does not exist.
400 InvalidParameter.ExternalIp The specified externalIp is not found.
400 Forbidden.ExternalIpUsedInSnat Forbidden.ExternalIpUsedInSnat
400 InvalidParameter.InternalIpNotFound The input parameter internalIp that is not found.
400 Forbidden.ExternalPort.Duplicated The specified ExternalPort is duplicated. A DNAT rule has been configured for the external port. Do not repeat the configuration.
400 ForwardEntryLimitExceed The limit of forward entry in the nat reaches.
400 InvalidParameter.HealthCheckPort HealthCheckPort is not in the range of InternalPort
400 IncorrectInstanceStatus The current status of the instance does not support this operation. The instance is in a state that does not support the current operation.
400 SystemBusy System is busy, please try again later. The system is currently busy, please try again later.
400 InvalidParameter.InternalIp The specified parameter internalIp is invalid. The parameter internal IP is incorrect.
400 InvalidPort.Malformed The specified port is not a valid port. The specified port is incorrect
400 ens.interface.error Failed to call API.
400 NoPermission Permission denied.
400 InvalidParameter.%s The specified field %s invalid. Please check it again.

See Error Codes for a complete list.

Release notes

See Release Notes for a complete list.