2016-04-19 88 views

回答

0

FTP是一个复杂的协议,它使用多个TCP连接,这是一个始终造成麻烦的功能。端口21仅用于命令通道,但是数据传输本身是使用新的TCP连接完成的,其中必要的端点(即端口号)在命令通道内动态分配和通信。

此行为使得无法安全地使用简单的防火墙,即您将需要有一个广泛的端口打开的所有时间。更智能的防火墙提供了监视命令连接并动态打开端口的帮助程序。但是,即使使用加密技术,即使用TLS(FTPS)的FTP,它们也会变得松散,因为它们无法再检查命令连接。

因此,如果在客户端和服务器之间没有任何防火墙的情况下,FTP工作通常没有问题,那么直接连接就好了。如果一方位于防火墙或NAT之后(与大多数家庭用户一样),则在使用主动或被动FTP模式后,您可能会获得成功。但是如果双方都在防火墙或NAT后面,那么你通常会失败。

而不是使用FTP我建议使用SFTP。该协议基于SSH,仅使用单个TCP连接。因此可以很容易地配置防火墙。除此之外,它更安全,即默认情况下所有内容都被加密。诸如FileZilla或WinSCP等许多客户端都支持它。