Look into Hairpin NAT:
https://wiki.mikrotik.com/wiki/Hairpin_NAT
Generic example (check and correct subnets for your own network):
/ip firewall nat
add chain=srcnat src-address=192.168.88.0/24 \
dst-address=192.168.88.0/24 \
out-interface-list=LAN action=masquerade
It will translate the connections from local addresses to local addresses as if the connections were coming from the router itself.
Thanks, I think that is what I need. I'll test and reply back here.
When you are not sending different port numbers to different servers it could be better to put a static
entry for somename.myddns.com in the DNS service with the address of the internal server (192.168.x.x)
so that internal clients asking for somename.myddns.com get directly connected to the server without NAT.
Of course this only works when everyone on the local network uses the MikroTik's DNS.
In a slightly larger network (e.g. business) you would handle this on your local DNS server (split DNS).
As I understand this works if I need to redirect to a specific IP address right... but I need it to pass through the other NAT rules (using port numbers to reach different local IPs), so I think the solution nescafe2002 presented fits better for me.