FTP 服务器访问帮助 - 一个客户端工作正常,另一个不工作

FTP 服务器访问帮助 - 一个客户端工作正常,另一个不工作

好吧,我是 FTP 新手,我正在尝试边学边弄清楚一切。我在家用机器上设置了 FileZilla 服务器,并成功将端口转发到路由器。

我父亲可以在他的机器上访问服务器,登录并完美地完成所有操作。他在 Windows XP 上使用命令行上的基本 ftp 命令。

但是,我使用的是 Linux Ubuntu 11.10。同样,我只使用基本的终端 ftp 命令。我可以连接到服务器、登录和更改目录,但许多其他命令(例如“ls”或“dir”)会导致以下错误:

421 服务不可用,远程服务器已关闭连接

我爸爸确认在执行“ls”命令时没有收到此错误,并且实际上可以看到文件。我在使用 Ubuntu 11.10 机器时收到此错误。

过去 4 个小时里,我一直在谷歌搜索这些问题,试图找到解决方案,但几乎一无所获。我偶然发现了这个帖子,其中描述了原始发帖人遇到的问题与我遇到的问题完全相同,但看起来问题还没有解决。

http://hintsforums.macworld.com/archive/index.php/t-65259.html

我认为我的 Ubuntu 11.10 机器上的某种设置阻碍了 FTP 通信,但我找不到任何地方解决它的方法。希望对这个问题有所了解,在此先致谢!

答案1

FTP 是一种愚蠢的协议,在某些配置中,它涉及服务器重新连接到客户在客户端告诉服务器的端口上。这意味着通过 NAT 和防火墙建立隧道是一场噩梦。

可以通过设置“被动模式”来解决此问题,这会使 FTP 客户端发起两个连接。有关更多信息,请参见此处:http://slacksite.com/other/ftp.html

您的 NAT/防火墙可能未设置为允许 FTP 主动模式。如果您父亲的 FTP 客户端默认为被动模式,那就可以解释为什么他可以让它工作而您却不能。(假设您从外部NAT/防火墙。)在 FTP 客户端中设置被动模式可能会有所帮助。

或者,您可以将 NAT/防火墙配置为代理主动模式 FTP 连接;有一个内核模块可以执行此操作(通常默认启用)。

我知道它没有回答您的问题,但您也可以使用 FTP 以外的其他方法来解决整个问题 --- HTTP 或 rsyncd 是不错的选择。

相关内容