所以几天前,我尝试创建一个家庭FTP服务器,我可以从我自己的网络访问它。啊,真灵。但现在我想更进一步。我希望通过外部IPv4地址从任何网络访问我的家庭FTP服务器。所以这是我的问题。
每次我想在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地址,它将显示如下:
连接服务器-审查-:14147. 错误,无法连接到服务器。 试着在5秒内重新连接
我的问题是:如何创建能够远程访问的家庭FTP服务器?
发布于 2017-05-03 12:49:19
Response: 227 Entering Passive Mode (**,***,*,***,***,106)
Command: MLSD
Error: The data connection could not be established: ECONNREFUSED - Connection refused by server
如果对227
命令的PASV
响应中的IP地址与实际的PASV
服务器IP地址不匹配,则服务器将被错误配置。
当服务器不知道其外部IP地址并报告其内部IP地址时,通常会发生这种情况。但是大多数FTP客户端(包括FileZilla)都能够通过检查IP地址来检测这一点,这些地址是为专用网络中的本地通信保留的。见服务器在FileZilla中发送带有不可路由地址的被动应答。由于没有发生这种情况,服务器可能被显式配置为不正确的IP地址。
有关通用信息,请参见我的关于FTP所需的网络配置的文章。
您必须将FTP服务器重新配置为新的IP地址。在FileZilla FTP服务器中,您可以使用编辑>设置>被动模式设置> IPv4特定的>外部服务器IP地址进行FileZilla服务器接口中的被动传输。
https://stackoverflow.com/questions/43758580
复制相似问题