tcp/22 is used by SSH, not FTP. The port for ftp-data (classic, non-PASV mode) is 20 while the FTP command channel is on 21.
Set a range of ports to be used for passive mode transfers in your FTP server configuration. If you would like to use a range of 100 ports between 34201 and 34300 with ProFTPd you would use the PassivePorts directive in the global config:
Code:
PassivePorts 34201 34300
Every time a passive mode transfer - be it a directory listing (which is a data transfer, not a command) or a regular file transfer - is executed, one of the ports in that range will be randomly selected as the server-side port. You will have to forward these ports to the computer on which the FTP server runs in the router configuration. If you have a Linksys router you will probably find what you want in Advanced >> Port Forwarding >> View Port Range Forwarding in the web administration thingy.
If you don't set up the port range to be forwarded in the router you will suffer a timeout whenever you try to retrieve a directory listing or a file from the FTP server.
Håkan