While we are talking about FTP Helper. I want to share another trick.
When you have a WAN using a private subnet and a DMZ using a public subnet.
You will certainly have an advanced outbound NAT rule that will NAT outgoing packets sourced from LAN with an IP address from the DMZ public subnet thus making the packet routable through Internet. Right, but what about FTP and Active FTP ? FTP helpers won't work because they will use your WAN IP Address, which is unreachable, inside FTP protocol. (eg. PORT command).
To solve this:
Edit the /etc/inc/config.inc file and go to line 1670 (in the 1.2 release), should looks like this one :
mwexec("/usr/local/sbin/pftpx {$shaper_queue}-c {$port} -g 8021 {$ip}");
Comment out this line and add this one:
mwexec("/usr/local/sbin/pftpx {$shaper_queue}-c {$port} -g 8021 -p [PUBLICIPHERE]");
Should work fine.
I have 10+ boxes running like this since pfsense uses pftpx.