我知道这个问题在互联网上已被问过很多次,并且谷歌搜索会出现大量帖子,但它们都没有任何帮助,并且都非常模糊和不具体,所以我的目标是最终在互联网上找到一个明确的答案。
基本上,我的 ubuntu 运行 proftpd 作为 xampp 包的一部分。网络内部连接正常。
客户端里面网络可以与服务器建立连接,验证身份并检索目录列表等。
客户端外部网络可以建立连接,进行自我验证,但会卡住Retrieving Directory Listing...
并超时。
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
我知道这与主动连接形式和被动连接形式有关。我不知道我想要哪种连接形式,也不知道该如何实现。
之前,我使用 FileZilla Server 在 Windows 上运行了一个 FTP 服务器。我遇到了同样的被动/主动问题,并能够使用以下方法解决它单个端口。互联网上的许多其他解决方案都是设置为被动模式并转发一堆端口(即 60000-65534),但考虑到过去我能够仅使用 21 作为传入连接即可使其工作,我应该能够再次做到这一点。
我的 proftpd.conf 文件被贴在这里 -->pastebin.com/YSgKw1Jk
任何帮助都非常感谢。提前谢谢您!