FileZilla - "The data connection could not be established: ECONNREFUSED - Connection refused by server" 检索目录列表时

FileZilla - "The data connection could not be established: ECONNREFUSED - Connection refused by server" when retrieving directory listing

所以几天前,我尝试创建一个家庭 FTP 服务器,我可以从我自己的网络访问它。有效。但现在我想更进一步。我希望我的 Home FTP 服务器可以通过外部 IPv4 地址从任何网络访问。所以这是我的问题。

每次我想连接到 localhost 上的服务器或我的本地 IP 地址时,它都有效。但是当我尝试在我的外部 IP 地址上使用相同的凭据连接时,它说它无法检索目录列表:

Status: Connecting to *************:800...
Status: Connection established, waiting for welcome message...
Status: Logged in
Status: Retrieving directory listing...
Command:    PWD
Response:   257 "/" is current directory.
Command:    TYPE I
Response:   200 Type set to I
Command:    PASV
Response:   227 Entering Passive Mode (**,***,*,***,***,106)
Command:    MLSD
Error:  The data connection could not be established: ECONNREFUSED - Connection refused by server
Response:   425 Can't open data connection for transfer of "/"
Error:  Failed to retrieve directory listing

227 响应中的(混淆的)IP 地址与“正在连接到...”消息中的(混淆的)服务器 IP 地址不匹配。

我尝试关闭防火墙,为 TCP 和 UDP 转发端口 21 和端口 800,但没有任何效果。我还为两个端口设置了例外,但效果不佳。

另一个问题是,如果我想在我的 FileZilla 服务器上登录我的外部 IP 地址,它会显示:

Connecting to server -censored-:14147...

Error, could not connect to server

Trying to reconnect in 5 seconds

我的问题是:如何创建一个可以远程访问的主页FTP服务器?

Response:   227 Entering Passive Mode (**,***,*,***,***,106)
Command:    MLSD
Error:  The data connection could not be established: ECONNREFUSED - Connection refused by server

如果 227PASV 命令的响应中的 IP 地址与实际 FTP 服务器 IP 地址不匹配,则服务器配置错误。

这通常发生在服务器不知道其外部 IP 地址并报告其内部 IP 地址时。但是大多数 FTP 客户端(包括 FileZilla)将能够通过检查 IP 地址与为专用网络内的本地通信保留的地址范围来检测到这一点。参见 Server sent passive reply with unroutable address in FileZilla。由于没有发生这种情况,服务器可能明确配置了错误的 IP 地址。

有关一般信息,请参阅我的 article about network configuration needed for FTP

您必须将 FTP 服务器重新配置为新的 IP 地址。在 FileZilla FTP 服务器中,您可以通过在 FileZilla 服务器界面中转至 编辑 > 设置 > 被动模式设置 > 特定于 IPv4 > 用于被动传输的外部服务器 IP 地址 来做到这一点。