All Products
Search
Document Center

ENS:ModifyForwardEntry

Last Updated:Mar 27, 2026

Modifies a Destination Network Address Translation (DNAT) rule.

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:ModifyForwardEntry

update

*All Resource

*

None None

Request parameters

Parameter

Type

Required

Description

Example

ForwardEntryId

string

Yes

The ID of the DNAT entry.

dnat-5tfjp3537mi6iokl59g5c****

ForwardEntryName

string

No

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

test0

HealthCheckPort

integer

No

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

80

ExternalIp

string

No

The EIP in the DNAT entry. The public IP address is used to access the Internet.

121.XXX.XXX.28

ExternalPort

string

No

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. The first port and the last port are included.

  • 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.

  • The maximum port range is 1000.

22

InternalIp

string

No

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

10.XXX.XXX.50

InternalPort

string

No

The private port or port range that is used in 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. The first port and the last port are included.

  • If you set InternalPort to a port range, you must also set ExternalPort 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.

  • The maximum port range is 1000.

22

IpProtocol

string

No

The protocol. Valid values:

  • TCP: forwards TCP packets.

  • UDP: forwards UDP packets.

  • Any (default): forwards all packets.

Any

Response elements

Element

Type

Description

Example

object

Schema of Response

RequestId

string

The ID of the request.

473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E

Examples

Success response

JSON format

{
  "RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E"
}

Error codes

HTTP status code

Error code

Error message

Description

400 Missing%s You must specify the parameter %s.
400 Invalid%s The specified parameter %s is invalid.
400 ens.interface.error Failed to call API.
400 InvalidParameter.DnatNotFound The specified dnat is not found. The specified DNAT rule does not exist.
400 IncorretDnatEntryStatus Dnat entry status blocked this operation. Dnat status is incorrect, please check Dnat status.
400 InstanceNotFound Instance not found, please check the InstanceId. Instance not found, please check the instance ID
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 Forbidden.ExternalPort.Duplicated The specified ExternalPort is duplicated. A DNAT rule has been configured for the external port. Do not repeat the configuration.
400 InvalidExternalIp.NotFound Specified ExternalIp does not found on the NAT Gateway. The public IP address is not in the NAT Gateway.
400 InvalidPort.Malformed The specified ExternalPort or InternalPort is not a valid port. The external or internal network port is incorrect.
400 Forbidden.ExternalIpUsedInSnat The external ip is already in use in the snat rule. The public IP address is already used in the SNAT rule. Please check.
400 InvalidParameter.HealthCheckPort HealthCheckPort is not in the range of InternalPort. The health check port is not in the intranet port range.
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.