Hello Chris,
There is:
ip nat inside source:
- Translates the source IP address of packets that travel from inside to outside.
- Translates the destination IP address of packets that travel from outside to inside.
ip nat outside source:
- Translates the source IP address of packets that travel from outside to inside.
- Translates the destination IP address of packets that travel from inside to outside.
So in your first example: source IP address 192.168.12.1 is translated to 192.168.23.2 when it translates from inside to outside. Destination IP address 192.168.23.2 is translated to 192.168.12.1 when the packet travels from outside to inside.
In the second example, we translate source IP address 192.168.23.2 to 192.168.12.1 when the packet travels from the outside to the inside. We translate destination IP address 192.168.12.1 to 192.168.23.2 when the return packet travels from the inside to the outside.
This question comes up every now and then so I decided to create some examples for it:
Hope this helps!
Rene