The default “Automatic” scenario is to have all traffic that enters from
a LAN (or LAN type) interface to have NAT applied so it is translated to
the WAN IP address before it leaves.

For static IP configurations, an interface is considered a WAN by the
presence of a gateway on the interface’s settings, e.g. Interfaces >
OPT1. Having a gateway defined under System > Routing is not
enough, it must also be selected on the interface configuration or it
will not be considered a WAN for NAT or other purposes.

In order to use Manual/Advanced Outbound NAT rules, navigate to
Firewall > NAT on the Outbound tab and select Manual Outbound
NAT rule generation (AON - Advanced Outbound NAT), and save. The list
should then be populated with the equivalent of the automatic rules,
which can then be edited, deleted, or added as needed.

There are a several more possibilities with outbound NAT rules beyond
the standard address fields:

Address pools allow use of a subnet or list of external IP addresses
when performing outbound NAT as opposed to the traditional situation
which translates traffic to a single external address. Multiple external
addresses can help in situations where the resources of a single
external IP may not be enough for a large number of internal users.

When an address pool is used, there are several options available that
control how NAT translations happen on the pool. These options are:

Round Robin

Loops through the translation addresses one at a time in sequence.

Random

Selects an address from the pool at random.

Source Hash

Uses a hash of the source address to determine the translation
address, ensuring that the redirection address is always the same
for a given source.

Bitmask

Applies the subnet mask and keeps the last portion identical;
10.0.1.50 -> x.x.x.50.

Sticky Address variants of Random and Round Robin types

The Sticky Address option can be used with the Random and Round
Robin pool types to ensure that a particular source address is
always mapped to the same translation address, so long as a state
exists for a given internal IP. If all of an internal system’s
states expire, it may get a different translation IP for the next
external connection.

For assistance in solving software problems, please post your question on the Netgate Forum.
If you see anything that's wrong or missing with the documentation, please suggest an edit by using the feedback
button in the upper right corner so it can be improved.