The following commands are specific to the routing IP NAT context within the Netsh environment.

To view the command syntax, click a command:

Add commands

Delete commands

Set commands

Show commands

Netsh commands for routing IP NAT

The following entries provide details for each command.

dump

Displays the Network Address Translation (NAT) configuration of a remote access server in script form.

Syntax

dump

Remarks

  • You can dump the contents of the current configuration to a file that can be used to restore altered configuration settings.

Example

The following commands save the current configuration as a script in the c:\test\natcfg.dmp file.

  • From the command prompt:

    netsh routing ip nat dump > c:\test\natcfg.dmp

  • From the netsh routing ip nat context prompt:

    set file open c:\test\natcfg.dmp

    dump

    set file close

You can use the netsh exec command to run the script created by the netsh dump command.

add addressmapping

Adds an IPv4 address mapping to the NAT address pool for the specified interface.

Syntax

add addressmapping

name = ] InterfaceName

public = ] IPAddress

private = ] IPAddress

inboundsessions = ] { enable | disable }

Parameters

name = ] InterfaceName

Required. Specifies, by name, the interface on which you want to use network address translation. The InterfaceName parameter must match the name of the interface as specified in Network Connections. If InterfaceName contains spaces, use quotation marks around the text (for example, "Interface Name").
public = ] IPAddress

Required. Specifies the IPv4 address used on a public network.
private = ] IPAddress

Required. Specifies the IPv4 address in the pooled range of addresses available for use on the private network.
inboundsessions = ] { enable | disable }

Required. Specifies whether inbound sessions are enabled or disabled.

Example

To map the public IP address 11.11.11.1 to the private IP address 10.10.10.1 and to disable inbound sessions for this NAT table mapping, type:

add addressmapping name="Local Area Connection" 11.11.11.1 10.10.10.1 disable

add addressrange

Adds an address range to the NAT address pool for the specified interface.

Syntax

add addressrange

name = ] InterfaceName

start = ] IPAddress

end = ] IPAddress

mask = ] SubnetMask

Parameters

name = ] InterfaceName

Required. Specifies, by name, the interface to whose address pool you want to add an address range. The InterfaceName parameter must match the name of the interface as specified in Network Connections. If InterfaceName contains spaces, use quotation marks around the text (for example, "Interface Name").
start = ] IPAddress

Required. Specifies the starting IPv4 address for the address range.
end = ] IPAddress

Required. Specifies the ending IPv4 address for the address range.
mask = ] SubnetMask

Required. Specifies the IPv4 subnet mask associated with the network range bounded by the start and end IPv4 addresses.

Example

To add an address range to the NAT address pool with addresses 10.10.10.1 to 10.10.10.100 and a subnet mask of 255.255.255.0, type:

add addressrange name="Local Area Connection" 10.10.10.1 10.10.10.100 255.255.255.0

add ftp

Enables the FTP proxy on the NAT server.

Syntax

add ftp

add interface

Enables NAT on the specified interface.

Syntax

add interface

name = ] InterfaceName

[ [ mode = ] { full | addressonly | private } ]

Parameters

name = ] InterfaceName

Required. Specifies, by name, the interface on which you want to enable NAT. The InterfaceName parameter must match the name of the interface as specified in Network Connections. If InterfaceName contains spaces, use quotation marks around the text (for example, "Interface Name").
[ [ mode = ] { full | addressonly | private } ]

Specifies whether the interface uses full, addressonly, or private mode.
  • full specifies that full (address and port) translation mode is enabled.

  • addressonly specifies that address-only translation mode is enabled.

  • private specifies that private mode is enabled.

Example

To add NAT with both address and port translation enabled on the Local Area Connection interface, type:

add interface "Local Area Connection" full

add portmapping

Adds a protocol port mapping on the specified NAT-enabled interface.

Syntax

add portmapping

name = ] InterfaceName

proto = ] { tcp | udp }

publicip = ] { IPAddress | 0.0.0.0 }

publicport = ] Integer

privateip = ] IPAddress

privateport = ] Integer

Parameters

name = ] InterfaceName

Required. Specifies, by name, the interface for which you want to add a port mapping. The InterfaceName parameter must match the name of the interface as specified in Network Connections. If InterfaceName contains spaces, use quotation marks around the text (for example, "Interface Name").
proto = ] { tcp | udp }

Required. Specifies whether the port mapping is for TCP or UDP.
publicip = ] { IPAddress | 0.0.0.0 }

Required. Specifies an external IPv4 address on the public network or 0.0.0.0 to indicate any IPv4 address not specified within the private network address range.
publicport = ] Integer

Required. Specifies the public protocol port by using a number from zero to 9999.
privateip = ] IPAddress

Required. Specifies an IPv4 address within the private network range.
privateport = ] Integer

Required. Specifies the private protocol port by using a number from zero to 9999.

Example

To add a port mapping of from any public IPv4 address, protocol type tcp, public port 80, to the private IPv4 address 10.0.0.1, port 80, type:

add portmapping name="Local Area Connection" tcp 0.0.0.0 80 10.0.0.1 80

delete addressmapping

Deletes an address mapping from the NAT address pool for the specified interface.

Syntax

delete addressmapping

name = ] InterfaceName

[ [ public = ] IPAddress ]

Parameters

name = ] InterfaceName

Required. Specifies, by name, the interface for which you want to delete an address mapping. The InterfaceName parameter must match the name of the interface as specified in Network Connections. If InterfaceName contains spaces, use quotation marks around the text (for example, "Interface Name").
public = ] IPAddress

Specifies the IPv4 address to be deleted. If you do not specify an address, all address mappings from the NAT address pool are deleted from the interface.

Example

To delete the mapping to 11.11.11.1 from the NAT interface address pool for the specified interface, type:

delete addressmapping "Local Area Connection" 11.11.11.1

delete addressrange

Deletes an address range from the Network Address Translation (NAT) address pool for the specified interface.

Syntax

delete addressrange

InterfaceName = ] InterfaceName

start = ] IPAddress

Parameters

name = ] InterfaceName

Required. Specifies, by name, the interface from which you want to delete an address range. The InterfaceName parameter must match the name of the interface as specified in Network Connections. If InterfaceName contains spaces, use quotation marks around the text (for example, "Interface Name").
start = ] IPAddress

Required. Specifies the starting IPv4 address of the range you want to delete.

Example

To delete an address range from the NAT address pool that begins with address 10.10.10.1, type:

delete addressrange name="Local Area Connection" 10.10.10.1

delete ftp

Disables the FTP proxy on the NAT server.

Syntax

delete ftp

delete interface

Removes NAT from the specified interface.

Syntax

delete interface

name = ] InterfaceName

Parameters

name = ] InterfaceName

Required. Specifies, by name, the interface for which you want to remove the use of NAT. The InterfaceName parameter must match the name of the interface as specified in Network Connections. If InterfaceName contains spaces, use quotation marks around the text (for example, "Interface Name").

Example

To remove NAT from the Local Area Connection interface, type:

delete interface "Local Area Connection"

delete portmapping

Deletes a protocol port mapping from the specified NAT-enabled interface.

Syntax

delete portmapping

name = ] InterfaceName

proto = ] { tcp | udp }

publicip = ] { IPAddress | 0.0.0.0 }

publicport = ] Integer

Parameters

name = ] InterfaceName

Required. Specifies, by name, the interface for which you want to delete a port mapping. The InterfaceName parameter must match the name of the interface as specified in Network Connections. If InterfaceName contains spaces, use quotation marks around the text (for example, "Interface Name").
proto  ] { tcp | udp }

Required. Specifies the protocol type. The tcp parameter specifies that the protocol type is Transmission Control Protocol. The udp parameter specifies that the protocol type is User Datagram Protocol.
publicip = ] { IPAddress | 0.0.0.0 }

Required. Specifies an external IPv4 address on the public network or 0.0.0.0 to indicate any IP address not specified within the private network address range.
publicport = ] Integer

Required. Specifies the public protocol port by using a number from zero to 9999.

Example

To remove a port mapping from a NAT-enabled interface, type:

delete portmapping name="Local Area Connection" tcp 0.0.0.0 80

set global

Sets global parameters for NAT.

Syntax

set global

[ [ tcptimeoutmins = ] Integer ]

[ [ udptimeoutmins = ] Integer ]

[ [ loglevel = ] { none | error | warn | info } ]

Parameters

tcptimeoutmins = ] Integer

Specifies, in minutes, the timeout value for TCP mappings. Note: If this option is specified with no value then the value is set to 0.
udptimeoutmins = ] Integer

Specifies, in minutes, the timeout value for UDP mappings.
loglevel = ] { none | error | warn | info }

Specifies which events should be logged.
  • none specifies that no events related to NAT should be logged.

  • error specifies that only errors related to NAT should be logged.

  • warn specifies that both errors and warnings related to NAT should be logged.

  • info specifies that all events related to NAT should be logged.

Example

To set global NAT parameters to be 1 day (1440 minutes) for TCP mappings timeout, 1 minute for UDP mappings timeout, and NAT error logging only, type:

set global tcptimeoutmins=1440 udptimeoutmins=1 loglevel=error

set interface

Configure NAT parameters for the specified interface.

Syntax

set interface

name = ] InterfaceName

mode = ] { full | addressonly | private }

Parameters

name = ] InterfaceName

Required. Specifies, by name, the interface for which you want to configure parameters. The InterfaceName parameter must match the name of the interface as specified in Network Connections. If InterfaceName contains spaces, use quotation marks around the text (for example, "Interface Name").
mode = ] { full | addressonly | private }

Required. Specifies whether the interface should be enabled for full, addressonly, or private mode.
  • full specifies that full (address and port) translation mode is enabled.

  • addressonly specifies that address-only translation mode is enabled.

  • private specifies that private mode is enabled.

Example

To configure NAT with address and port translation enabled on the Local Area Connection interface, type:

set interface "Local Area Connection" full

show global

Displays the NAT global configuration.

Syntax

show global

show interface

Displays the NAT configuration for the specified interface. Used without parameters, show interface displays NAT configuration information for all interfaces.

Syntax

show interface

name = ] InterfaceName

Parameters

name = ] InterfaceName

Required. Specifies, by name, the interface for which you want to display information. The InterfaceName parameter must match the name of the interface as specified in Network Connections. If InterfaceName contains spaces, use quotation marks around the text (for example, "Interface Name").

install

Installs the NAT routing component for IPv4.

Syntax

install

uninstall

Removes the NAT routing component from IPv4.

Syntax

uninstall