security nat source-translationΒΆ

security nat source-translation(1)		  BIG-IP TMSH Manual		   security nat source-translation(1)

NAME
       source-translation - Configures a Security NAT source translation object.

MODULE
       security nat

SYNTAX
   CREATE/MODIFY
	create source-translation [name]
	modify source-translation [name | all]
	  options:
	    addresses [add | delete | modify | none | replace-all-with] {
		[ [ip address] [ip prefix] [ip range] ]
	    }
	    app-service [[string] | none]
	    backup-addresses
	      [add | delete | replace-all-with] {
		[ip address/prefix length] ...
	    }
	    client-connection-limit [integer value]
	    description [string]
	    egress-interfaces
	      [add | delete | replace-all-with] {
		[interface name] ...
	    }
	    egress-interfaces-disabled
	    egress-interfaces-enabled
	    exclude-addresses [add | delete | modify | none | replace-all-with] {
		[ [ip address] [ip prefix] [ip range] ]
	    }
	    exclude-address-lists [add | default | delete | none | replace-all-with] {
		[address list names...]
	    }
	    hairpin-mode [enabled | disabled]
	    icmp-echo [enabled | disabled]
	    inbound-mode [endpoint-independent-filtering | explicit | none]
	    eif-timeout [integer]
	    pat-mode [deterministic | napt | pba]
	    pcp {
	      profile [ name | none ]
	      selfip [ name | none]
	      dslite_tunnel [ name | none ]
	    }
	    ports [add | delete | modify | none | replace-all-with] {
		[ [port] [port-range] ]
	    }
	    proxy-arp [enabled | disabled]
	    route-advertisement [enabled | disabled]
	    type [dynamic-pat | static-nat | static-pat]
	    mapping {
	      mode [address-pooling-paired | endpoint-independent-mapping | none]
	      timeout [integer]
	    }
	    port-block-allocation  {
	       block-idle-timeout [integer]
	       block-lifetime [integer]
	       block-size [integer]
	       client-block-limit [integer]
	       zombie-timeout [integer]
	    }

	edit source-translation [ [ [name] | [glob] | [regex] ] ... ]
	  options:
	    all-properties
	    non-default-properties

   DISPLAY
	list source-translation
	list source-translation [ [ [name] | [glob] | [regex] ] ... ]
	show running-config source-translation
	show running-config source-translation [ [ [name] | [glob] | [regex] ] ... ]
	  options:
	    all-properties
	    non-default-properties
	    one-line

	show source-translation
	show source-translation [ [ [name] | [glob] | [regex] ] ... ]
	  options:
	    (default | exa | gig | kil | meg | peta | raw | tera | yotta | zetta)
	    detail
	    field-fmt

   DELETE
	delete source-translation [name | all]

DESCRIPTION
       A source-translation NAT object is a set of IP Address(es) and port numbers that the BIG-IP system uses as
       public-side addresses and ports. When this object is assigned to a Security NAT Policy rule (which is
       associated to a virtual server), any incoming traffic to this virtual server that matches the rule, will have
       their private source addresses (and/or ports) translated to a public address and/or port from this source-
       translation object.

EXAMPLES
       create source-translation s1 type dynamic-pat pat-mode napt mapping { mode endpoint-independent-mapping
       timeout 600 } addresses add { 10.10.20.0/24 } ports add { 4000-5000 } client-connection-limit 100

       Creates the source-translation object named s1 that contains the translation addresses in the range of
       (addresses) 10.10.20.0/24, translation port range 4000-5000, with a client connection limit of 100 connections
       per client. The translated address and port are persisted for 600 seconds. This object operates in NAPT mode
       (Network Address and Port Translation mode), which is the default mode if not specified when type is dynamic-
       pat.

       delete source-translation s1

       Deletes the source-translation object named s1.

OPTIONS
       app-service
	    Specifies the name of the application service to which this object belongs. The default value is none.

	    Note: If the strict-updates option is enabled on the application service that owns the object, you cannot
	    modify or delete this object. Only the application service can modify or delete this object.

       addresses
	    Specifies the set of translation IP addresses available in the pool. This is a collection of IP prefixes
	    with their prefix lengths. All public-side addresses come from the subnets you enter in this property.

       backup-addresses
	    Specifies translation IP addresses available in the backup pool which is used by DNAT translation mode if
	    DNAT mode translation fails and falls back to NAPT mode.  This is a collection of IP prefixes with their
	    prefix lengths.

       client-connection-limit
	    The maximum number of simultaneous translated connections a client or subscriber is allowed to have. This
	    attribute is applicable only if type is set to dynamic-pat.

       description
	    User defined description.

       egress-interfaces
	    The set of interfaces on which the source address translation is allowed or disallowed.  If egress-
	    interfaces-enabled is specified, the source address translation is allowed only on the specified set of
	    interfaces. If egress-interfaces-disabled is specified, source address translation is disabled on
	    specified interfaces.

       egress-interfaces-disabled
	    Source address translation is not allowed on the interfaces specified in the egress-interfaces set.

       egress-interfaces-enabled
	    Source address translation is allowed on the interfaces specified in the egress-interfaces set.

       exclude-addresses
	    Specifies the set of addresses excluded from translation IP addresses available in the pool.

       exclude-address-lists
	    Specifies the set of address lists (see security firewall address-list) excluded from translation IP
	    addresses available in the pool.

       glob Displays the items that match the glob expression. See help glob for a description of glob expression
	    syntax.

       hairpin-mode
	    This attribute is applicable only if type is set to dynamic-pat.

	    Enable or disable hairpinning for incoming connections.

	    When a client sends a packet to another client in the same private network, hairpin mode sends the packet
	    directly to the source client's private address; the BIG-IP system immediately translates the packet's
	    public-side source address. Rather than going out to the public network and coming back later for
	    translation, the packet takes a hairpin turn at the BIG-IP device.

       icmp-echo
	    Enable or disable ICMP echo on translated addresses.

       inbound-mode
	    This attribute is applicable only if type is set to dynamic-pat.

	    Modifies the inbound-connection mode for incoming connections to translation endpoints. A translation
	    endpoint is the public-side address and port (X':x') for a private-side address (X:x). You can allow one
	    of the following two algorithms for managing inbound connections:

	    endpoint-independent-filtering
		 creates inbound mappings automatically from outbound traffic and allows inbound connections.
		 Consider an outbound mapping from X:x to X':x'. If a connection comes from X:x through X':x', the
		 BIG-IP system automatically creates a reverse mapping from X':x' back to X:x. A public-side station
		 can respond through the X':x' address. This allows the BIG-IP system to provide Endpoint Independent
		 Filtering (EIF) as defined in section 5 of RFC 4787
		 ().

	    explicit
		 Allows inbound connections if and only if there exists an inbound mapping to translate public-side
		 source address X':x' to client's private address X:x. Users can create Inbound mappings via iRules
		 or PCP.

	    none disables inbound connections to translation end-points (X':x'). If there is a mapping of X (a
		 private-side IP address) to X' (a public-side IP), connections can only go out from X through X'. If
		 a public-side recipient tries to answer at the client's public-side X' address, the BIG-IP system
		 does not map X' back to X. The inbound connection never happens.

		 Port Control Protocol (PCP) is not supported if you use this setting.

       eif-timeout
	    Configurable range of eif-timeout is 3-300 seconds. Default value is 3 seconds. This attribute is only
	    applicable if a) NAT method is Dynamic PAT (any pat-mode : NAPT/PBA/DNAT) and b) inbound-mode is set to
	    'endpoint-independent-filtering'.

       pat-mode
	    Specifies which kind of translation address mapping is performed when type is specified as dynamic-pat.
	    Available options are NAPT, Deterministic, and PBA.

	    NAPT (Network Address Port Translation) assigns translation addresses and ports in round-robin fashion.
		 The algorithm first cycles through translation addresses and then through translation ports.

	    Deterministic
		 (DNAT) is a reversible translation method. A given client address and port always translates to a
		 particular public address and port from the source-translation pool. This method has the following
		 restrictions:

		 it is only available for NAT44 translations,
		 it does not support connections through DS-Lite tunnels,
		 subscriber connections must be received over a VLAN with the property, cmp-hash, set to "source ip,"
		 the egress to the Internet must be over a VLAN with the property, cmp-hash, set to "dest ip,"
		 any security NAT rule ("security nat policy") that uses this must have a source property set to an
		 IP prefix containing fewer than 231 addresses. For example, the source cannot be 0.0.0.0/0.
	    PBA  (Port Block Allocation) assigns 'blocks' of the translation addresses and ports to individual
		 clients. All client connections are restricted to the allocated port blocks. Only block allocations
		 and deallocations are logged in order to reduce the volume of logs.

		 subscriber connections must be received over a VLAN with the property, cmp-hash, set to "source ip,"
		 the egress to the Internet must be over a VLAN with the property, cmp-hash, set to "dest ip,"

		 You can access your VLAN configurations through the "net vlan" component. You can find the VLANs
		 used by your virtual server by showing or listing the "ltm virtual" component.

       name Specifies a unique name for the source-translation component. This option is required for the commands
	    create, delete, and modify.

       mapping
	    These settings are applicable only if type is set to dynamic-pat.

	    Configure the mapping settings for translation entries.  It is the preservation of a public-side IP
	    address for a client from session to session.

       mapping.mode
	    Configure the mapping mode for translation entries. You can enter address-pooling-paired, endpoint-
	    independent-mapping, or none.

	    address-pooling-paired
		 causes the BIG IP software to attempt to keep the IP address persistent but not necessarily the
		 port. If a client's private IP address:port combination is X:x, it's public-side address may be X':a
		 in one session, X':b in the next session, X':c in a third session, and so on.

	    endpoint-independent-mapping
		 causes the BIG IP software to attempt to keep the IP address and port persistent. If a client's
		 private IP address:port combination is X:x, and it's public-side address is X':x' in the first
		 session, it remains X':x' in all future sessions.

		 This is called "Endpoint Independent Mapping" in RFC 4787 ().

		 This is the only supported setting for PCP, which you configure with the pcp property.

	    none prevents the BIG IP software from attempting any IP address or port mapping. An address:port
		 combination of X:x is never guaranteed to have the same public-side address or port in two sessions.

       mapping.timeout
	    After the most-recent session where address:port X:x translated to X':x' on the public side, a timer
	    begins. If the timer expires before X:x has another session, X' or x' may be used as the public side of
	    another address:port. Use this parameter to set the timeout (in seconds) for address and port mapping.

       pcp  A Port Control Protocol (PCP) client can set (or at least learn) its own translation (public-side) IP
	    address and/or port. It can also set the address and/or port of a third-party client. PCP is defined in
	    RFC 6887 (see ).

       pcp.profile
	    Specifies the PCP profile to use for this LSN pool. This PCP profile defines the settings to use for
	    communication with PCP clients. Use the create ltm profile pcp command to create a new PCP profile.

	    PCP requires a profile (defined with this property) and either a pcp.selfip or a pcp.dslite tunnel where
	    clients can send their PCP requests.

	    If you remove this profile option, you must specifically remove any pcp.selfip or pcp.dslite tunnel, too.

       pcp.selfip
	    Specifies the PCP Server self-IP address for this LSN pool. The virtual server's clients send their PCP
	    packets to this address. Use the create net self command to create a self-IP address, then use that
	    address for this parameter.  Choose a self-IP address in a VLAN that is reachable by the virtual server's
	    clients.

       pcp.dslite
	    Specifies a DS-LITE tunnel for PCP packets. Whenever a client sends a PCP packet through this tunnel, the
	    BIG-IP device uses the PCP profile you choose with the pcp.profile property.

	    A DS-LITE tunnel places each IPv4 packet into the payload of an IPv6 packet.  The IPv6 packet carries the
	    IPv4 packet between customer equipment and the BIG-IP system, which then removes the IPv4 packet, uses
	    NAT to translate its IPv4 addresses, and sends it to its destination.

	    You cannot use this property if the pat-mode property is set to Deterministic.

       port-block-allocation
	    Configures the port block settings for PBA mode.

       port-block-allocation.block-idle-timeout
	    Configures the time after the last connection using the block is freed that the block assignment expires.
	    The default value is 3600 seconds.

       port-block-allocation.block-lifetime
	    Configures the timeout after which the block is no longer used for new port allocations. The block
	    becomes a zombie block. The default is 0 which corresponds to an infinite timeout.

       port-block-allocation.block-size
	    Configures the number of ports in a block. The default value is 64.

       port-block-allocation.client-block-limit
	    Configures the number of blocks that can be assigned to a single subscriber IP address. The default value
	    is 1.

       port-block-allocation.zombie-timeout
	    Configures the timeout after which connections using the zombie block are killed. After connections are
	    killed zombie block is freed after port-block-allocation.block-idle-timeout. This parameter is unused
	    unless the port-block-allocation.block-lifetime is set. The default value is 0 which corresponds to
	    infinite timeout.

       proxy-arp
	    Enable or disable proxy arp for the translated source IP addresses.

       regex
	    Displays the items that match the regular expression. The regular expression must be preceded by an at
	    sign (@[regular expression]) to indicate that the identifier is a regular expression. See help regex for
	    a description of regular expression syntax.

       ports
	    Specifies the range of port numbers available for use with translation IP addresses.

       route-advertisement
	    Enable or Disable Route Advertisement for the translated source IP addresses.

       type Specifies which kind of translation is performed. Available options are: static-nat, static-pat, and
	    dynamic-pat.

	    dynamic-pat
		 Using this type, BigIP translates a group of private (internal) IP Addresses to a pool of (one or
		 more) public (external) IP Addresses and also translates ports to reuse the pool of public
		 addresses. BigIP supports 3 different modes for dynamic-pat which can be specified using option pat-
		 mode as described above.

	    static-nat
		 Using this translation type in the source-translation, only (source) IP Address translation is
		 performed (and no port translation) for the incoming client traffic that matches the NAT Policy Rule
		 using this translation object. There is a static (pre-defined) 1:1 mapping between the untranslated
		 IP Address(es) and the translated IP Address(es) specified in this object (i.e same translation
		 address (X') is used for all connections originating from the client with untranslated address (X)).

	    static-pat
		 Using this translation type in the source-translation, (source) port translation is performed for
		 the incoming client traffic that matches the NAT Policy Rule using this translation object. There is
		 a static (pre-defined) 1:1 mapping between the untranslated port(s) and the translated port(s)
		 specified in this object. In addition, if translation address(es) are specified in the source-
		 translation, it also performs IP Address translation (in the same fashion as done for static-nat).

SEE ALSO
       security nat policy, security nat destination-translation, ltm virtual, create, delete, edit, glob, list, ltm,
       modify, regex, reset-stats, show, tmsh

COPYRIGHT
       No part of this program may be reproduced or transmitted in any form or by any means, electronic or
       mechanical, including photocopying, recording, or information storage and retrieval systems, for any purpose
       other than the purchaser's personal use, without the express written permission of F5 Networks, Inc.

       F5 Networks and BIG-IP (c) Copyright 2008-2013, 2015-2016. All rights reserved.

BIG-IP						      2019-08-22		   security nat source-translation(1)