FTP 从服务器到服务器不工作

FTP from server to server not working

我正在尝试将大量文件从服务器 A 传输到服务器 B。我已经在 A 上设置了 FTP(使用 FileZilla)。

当我尝试从我的 PC 连接到 A 时,它工作正常。 但是当我尝试从 B 连接到 A 时,它不起作用。 FTP 用户登录,但目录列表命令一直卡住。

防火墙端口 21 已打开。我试过几台服务器,不同的 FTP 客户端,但无济于事。除了 FileZilla,我还尝试使用内置 FTP 服务的 ISS,并得到了相同的结果。

使用相同的凭据完美地从本地连接。但是服务器到服务器的连接不起作用。

服务器:Win 2012 R2 with IIS 8.5

有什么想法吗?提前致谢。

FTP 和 FTPS 使用两个通道进行通信 - 一个控制通道和一个数据通道。当您传递凭据(用户名和密码)时,您正在控制通道上进行通信,通常是端口 21。

编辑(阐明主动与被动客户端配置):

然后会发生以下两种情况之一,具体取决于您的 FTP/S 客户端是配置为主动数据连接还是被动数据连接。如果您的客户端配置为活动连接,客户端将要求服务器在端口 20 上为数据通道(或客户端指定的其他端口)进行通信。

如果您的客户端配置为被动连接,则客户端将遵从服务器的端口以用于数据通道。 FTP 服务器然后告诉客户端将哪个端口用于数据通道。

如果第二个端口被阻止或限制,您的数据通信(如目录列表)将失败。

确定您的 FTP/s 客户端使用的是主动配置还是被动配置,以及相应的端口(主动配置的端口 20)是否打开。

对于被动配置,请检查您的 FTP 服务器配置,了解它用于数据通道的端口。您可能会设置它,因为它可能默认为随机高端口。

我知道您使用的是 Windows 2012 R2,并且这个 TechNet post 说它适用于更早的 Windows 服务器版本,但它很好地解释了我的内容我正在尝试描述。

https://technet.microsoft.com/en-us/library/dd464003(v=ws.10).aspx