how-to block ads
During FTP connections/transfer there are always 2 ports involved. The first port is the control port (the port which people connect to to access the FTP server) which is used for the commands from and to the server. The second port is the data port, used for data transfers (including the LIST command), and this is where active and passive FTP plays a role. The data port is usually a random port above 1024.
When a file is a downloaded in active mode the FTP client determines the data port to be used and sends this info, along with its internal IP, to FTP server with the PORT command. The FTP server in term connects to the client(hence "Active" mode) on the specified ports and IP.
In Passive mode it is the other way around (the server determines the port and IP, and the client connect to that port and IP using the PASV command; overall, the server is "passive" in the transfer procedure).
As you can see there are 2 problems when working with a router:
1) Running an FTP server with clients connecting in passive mode (router blocks incoming connections from the clients to the data port determined by the FTP server).
2) As an FTP client, connecting in active mode won't work by default (the router is blocking the incoming connections from the "active" ftp server).
In conclusion, to get the 2 prior points to work ok you'll have to open up a range of ports in your virtual server page. This range should consist of at least 1 available port for each connected client to the ftp server.
For the problem with the FTP client, one could always enter the port number which is used in the "Non-standard FTP port" setting in the Misc. section of your router's webconfig. I use FlashFXP as my FTP client because it has some nice active/passive features. For instance, you can set it to present a specified IP during active ftp connections. In this way your ftp client will not present it's private (192.168.x.x) IP address, but the IP specified in the Pref's section. It also has the capability to bind it to an range of ports so you can open them in the virtual settings page to use during active transfers.
Also see the pic below..