所以几天前,我尝试创建一个家庭FTP服务器,我可以从我自己的网络访问。有效。但现在我想进一步。我希望我的家庭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地址不匹配。
我尝试关闭防火墙,转发端口21和端口800用于TCP和UDP,但没有任何效果。我也为这两个端口做了例外,但这也没有用。
另一个问题是,如果我想在我的FileZilla服务器上登录我的外部IP地址,它会显示:
连接到服务器-censored-:14147 ...
错误,无法连接到服务器
尝试在5秒内重新连接
我的问题是:如何创建可远程访问的家庭FTP服务器?
答案 0 :(得分:4)
Response: 227 Entering Passive Mode (**,***,*,***,***,106)
Command: MLSD
Error: The data connection could not be established: ECONNREFUSED - Connection refused by server
如果对227
命令的PASV
响应中的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服务器中,您可以通过转到编辑>来完成此操作。设置>被动模式设置> IPv4特定> FileZilla Server Interface中的被动传输的外部服务器IP地址。