From internal machines, I mean machines on my LAN.
That is how the router itself is doing it. For port forwarding to the router itself, the firmware adds a rule to the VSERVER chain and another rule to the INPUT chain. For forwarding to internal machines, you would probably need a rule to VSERVER and another to FORWARD chain.
I have not tested it out yet. I plan to do this today and post back the results here.