我正在使用客户端 (AnyClient) 连接到 FTP 服务器。有一个复选框指定“被动”。我可以将其勾选为是或否。这是什么意思?
答案1
被动 FTP 是一种帮助您通过防火墙或其他安全设备进行连接的方法。由于非被动(主动)FTP 连接需要两端各建立一个连接,因此,允许在主动 FTP 使用的不可识别的较高端口号上进出防火墙的连接存在问题。客户端的返回流量在第二次连接时不会被识别,通常会被丢弃。使用被动 FTP,两个连接都是从客户端发起的。
当今大多数状态防火墙可以很好地处理这两种 FTP 方法,因为它们能够检测数据包是否与另一个连接相关。
答案2
它是 FTP 特有的。
主动 FTP 意味着 FTP 服务器打开与客户端的连接以传输数据(下载)。这通常与防火墙和 NAT 路由器配合不太好,因此您可以选择使用被动模式,其中所有连接均由客户端发起。
答案3
FTP 协议有两个连接。一个命令通道和一个数据通道。在原始协议(我们称之为主动 FTP)中,客户端将在命令通道上启动与服务器的连接,然后对于传递的任何数据,服务器将主动创建与客户端的连接。一开始,这没什么问题。
但后来我们安装了防火墙,它会阻止传入连接。而且我们几乎每个家庭连接(以及大多数工作连接)上都有 NAT 盒,它会阻止任何传入连接(好吧,除非你事先将 NAT 设置为路由,这很麻烦)。因此,他们改变了一些协议,以允许客户端请求被动的FTP,这意味着对于数据连接来说,服务器现在是被动的,协议握手告诉客户端如何连接数据通道到服务器。
这对服务器来说需要做更多的工作,因为服务器现在需要记住哪个传入连接来自哪个客户端(因此需要记住要响应哪个命令),但这是克服“无传入连接”规则的唯一真正方法。
总结:始终选择被动。每个服务器都支持它,它将始终有效,并且您永远不需要知道它为什么会有效。或者只是测试“主动”连接,如果它有效,那就太好了!如果不行,请尝试被动。
答案4
这一页声称是被动 ftp 与主动 ftp 的“权威解释”。
主动和被动 ftp 之间的主要区别总结在页面底部:
主动 FTP 对 FTP 服务器管理员有利,但对客户端管理员不利。FTP 服务器尝试连接到客户端上的随机高端口,这几乎肯定会被客户端的防火墙阻止。被动 FTP 对客户端有利,但对 FTP 服务器管理员不利。客户端将与服务器建立两个连接,但其中一个将连接到随机高端口,这几乎肯定会被服务器端的防火墙阻止。
因此,使用被动 FTP,您必须在服务器上做更多工作以允许在高端口号上进行连接,但应该保证任何客户端都可以毫无问题地连接,因为它知道必须打开哪些端口。
因此,如果您的服务器需要接受大量客户端的连接,则被动 FTP 是最佳选择。如果您只接受少量客户端的连接,则主动 FTP 是最佳选择。