| This target is only valid in the |
| .B nat |
| table, in the |
| .B POSTROUTING |
| and |
| .B INPUT |
| chains, and user-defined chains which are only called from those |
| chains. It specifies that the source address of the packet should be |
| modified (and all future packets in this connection will also be |
| mangled), and rules should cease being examined. It takes the |
| following options: |
| .TP |
| \fB\-\-to\-source\fP [\fIipaddr\fP[\fB\-\fP\fIipaddr\fP]][\fB:\fP\fIport\fP[\fB\-\fP\fIport\fP]] |
| which can specify a single new source IP address, an inclusive range |
| of IP addresses. Optionally a port range, |
| if the rule also specifies one of the following protocols: |
| \fBtcp\fP, \fBudp\fP, \fBdccp\fP or \fBsctp\fP. |
| If no port range is specified, then source ports below 512 will be |
| mapped to other ports below 512: those between 512 and 1023 inclusive |
| will be mapped to ports below 1024, and other ports will be mapped to |
| 1024 or above. Where possible, no port alteration will occur. |
| .TP |
| \fB\-\-random\fP |
| Randomize source port mapping through a hash-based algorithm (kernel >= 2.6.21). |
| .TP |
| \fB\-\-random-fully\fP |
| Fully randomize source port mapping through a PRNG (kernel >= 3.14). |
| .TP |
| \fB\-\-persistent\fP |
| Gives a client the same source-/destination-address for each connection. |
| This supersedes the SAME target. Support for persistent mappings is available |
| from 2.6.29-rc2. |
| .PP |
| Kernels prior to 2.6.36-rc1 don't have the ability to |
| .B SNAT |
| in the |
| .B INPUT |
| chain. |
| .TP |
| IPv6 support available since Linux kernels >= 3.7. |