You need to use passive mode.
If you're using linux client, use pftp
or ftp -p
.
From man ftp
:
-p Use passive mode for data transfers. Allows use of ftp in environments where a firewall prevents connections from the outside world back to the client machine. Requires that the ftp server support the PASV command. This is the default if invoked as pftp.