I know this question has been asked many times on the internet and a google search will bring up a multitude of posts, but none of them have been of any help and are all very vague and not specific, so I aim to finally get a definite answer out there on the internet.
Basically I have ubuntu running proftpd as part of the xampp package. Connections inside the network are fine.
Clients inside the network can establish a connection to the server, authenticate themselves and retrieve directory listings and all that jazz.
Clients outside the network can establish a connection, authenticate themselves but get stuck at Retrieving Directory Listing... and times out.
Status: Connecting to ***.***.***.***:21...
Status: Connection established, waiting for welcome message...
Status: Insecure server, it does not support FTP over TLS.
Status: Server does not support non-ASCII characters.
Status: Connected
Status: Retrieving directory listing...
Command: PWD
Response: 257 "/" is the current directory
Command: TYPE I
Response: 200 Type set to I
Command: PASV
Response: 227 Entering Passive Mode (165,228,195,88,240,255).
Command: MLSD
Error: The data connection could not be established: ETIMEDOUT - Connection attempt timed out
Error: Connection timed out after 20 seconds of inactivity
Error: Failed to retrieve directory listing
I am aware this has something to do with an Active vs Passive form of connection. I can't figure out which one I want or how to make it work.
Previously, I had an FTP server running on Windows using FileZilla Server. I ran into this same passive/active problem and was able to solve it using a single port. Many other solutions on the internet have been setting to passive mode and forwarding a bunch if ports (ie. 60000-65534) but considering in the past I was able to make it work with just 21 as the incoming connection, I should be able to do it again.
My proftpd.conf file is slapped on over here --> pastebin.com/YSgKw1Jk
Any help is much appreciated. Thank you in advance!