Benutzt der Client aktives oder passives FTP?
Bei passivem FTP baut der Client eine weitere Verbindung auf, auf einem Port, den der Server auf die PASV-Anfrage mitteilt. Dieser Port ist normalerweise nicht näher bestimmt, liegt aber über 1024. Da Dein Router Verbindungsanfragen auf diesem Port aber wohl nicht an Deinen Server weiterleitest, klappt das nicht.
Aktives FTP hat dieses Problem nicht, weil da der Server die zweite Verbindung aufbaut, kann dafür aber natürlich an einer clientseitigen Firewall scheitern.
Siehe auch:
http://slacksite.com/other/ftp.html