PS. Is it also possible to do that rule without entering my public IP? It’s semi-dynamic, and I’d hate to have to edit all my rules when/if it changes…
If you want to redirect ALL your SMTP traffic to the local address, you can set only the dst-port=25 and to-dst-address=local_IP:port without setting your public IP.
Wouldn’t that prevent that local server from sending SMTP out?
(if all SMTP is redirected to 192.168.24.140, wouldn’t that have 192.168.24.140 send all outgoing email to itself, instead of the correct destination?)
No - just redirect all SMTP traffic coming IN on your public interface. So this won’t interfere with outgoing SMTP traffic (which is coming IN on your “private” interface).
Perhaps check that no other firewall (or dst-nat) rules placed before the newly added rules “grab” those packets, to they never make it to your new rules.
Also keep an eye on the packet count value in the firewall/dst-nat windows - so you can see if those rules actually process any packets.