Ok, I have a working version for Merlin. Tested on 386.3_2 and 386.4 (worked on both with same changes).
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.
pastebin.com
Under Administration->System, make sure you have "Enable JFFS custom scripts and configs" enabled. Then download installer and edit it using the following script (just copy/paste it into the window of an ssh session).
Bash:
installer=/tmp/tmp.$$.installer.sh
curl -kLs pastebin.com/raw/b7p6f102 | tr -d '\r' > $installer
chmod +x $installer
nano $installer
The installer is actually an outer script that creates two inner scripts; nat-start and init-start. Within the nat-start script, you need to define the port forward itself (we're NOT using the GUI for these purposes). Within the init-start script, you need to define the MAC address of the target of the port forward. NOTE: If you've defined a static lease for the target using the GUI (which I strongly recommend), then you don't need to modify init-script at all; it will find the MAC address dynamically, at runtime.
Save your change and run the installer.
Finally, reboot.
NOTE: If you have an existing nat-start and/or init-start script, the installer will NOT overwrite either of them (even if it's from a previous run of the installer itself). If they're from the installer, you'll have to delete those manually. If they've been generated from some other source, you'll have to find a means to incorporate my scripts into those scripts (or vice-versa). That process can NOT be safely automated.
If for any reason you need to remove these same scripts (e.g., to uninstall), you can use the following commands.
Bash:
rm -f /jffs/scripts/nat-start
rm -f /jffs/scripts/init-start