The question is missing a lot of variable me thinks. But if we can fill in the gaps ourselves, you would need to port forward whatever port you want to connect up externally on the host. Only the host matters when it comes to incoming connections, ie PC connecting to VNC 'server'. So using port 3333 as an example, you would do this:
So Your edge device with ip 123.123.123.123 has to forward the port 3333 to the NAT'd IP of say 192.168.150.2 so that when you connect with a client PC the router/edge device knows where to send the traffic.
Here's a pic that shows what I meant on the server side:
Should note, you only NAT private IP's in an ipv4 world:
http://www.vlsm-calc.net/ipclasses.php