服务器设置步骤很简单,这里就不作介绍了。可是在设置完以后,服务器本机能够访问ftp,可是局域网内其余机器不能访问,会提示这个错误信息,425 Can't open data connection for transfer of "/"
!
这里就颇有多是FTP服务器主动模式、被动模式出问题了。
下面了解一下FTP主动与被动模式的区别:windows
FTP是仅基于TCP的服务,不支持UDP。不同凡响的是FTP使用2个端口,一个数据端口和一个命令端口(也可叫作控制端口)。一般来讲这两个端口是21(命令端口)和20(数据端口)。但FTP工做方式的不一样,数据端口并不老是20。这就是主动与被动FTP的最大不一样之处。 (一)主动FTP 主动方式的FTP是这样的:客户端从一个任意的非特权端口N(N>1024)链接到FTP服务器的命令端口,也就是21端口。而后客户端开始监听端口N+1,并发送FTP命令“port N+1”到FTP服务器。接着服务器会从它本身的数据端口(20)链接到客户端指定的数据端口(N+1)。 针对FTP服务器前面的防火墙来讲,必须容许如下通信才能支持主动方式FTP: 1. 任何大于1024的端口到FTP服务器的21端口。(客户端初始化的链接) 2. FTP服务器的21端口到大于1024的端口。 (服务器响应客户端的控制端口) 3. FTP服务器的20端口到大于1024的端口。(服务器端初始化数据链接到客户端的数据端口) 4. 大于1024端口到FTP服务器的20端口(客户端发送ACK响应到服务器的数据端口) (二)被动FTP 为了解决服务器发起到客户的链接的问题,人们开发了一种不一样的FTP链接方式。这就是所谓的被动方式,或者叫作PASV,当客户端通知服务器它处于被动模式时才启用。 在被动方式FTP中,命令链接和数据链接都由客户端发起,这样就能够解决从服务器到客户端的数据端口的入方向链接被防火墙过滤掉的问题。 当开启一个 FTP链接时,客户端打开两个任意的非特权本地端口(N > 1024和N+1)。第一个端口链接服务器的21端口,但与主动方式的FTP不一样,客户端不会提交PORT命令并容许服务器来回连它的数据端口,而是提交 PASV命令。这样作的结果是服务器会开启一个任意的非特权端口(P > 1024),并发送PORT P命令给客户端。而后客户端发起从本地端口N+1到服务器的端口P的链接用来传送数据。 对于服务器端的防火墙来讲,必须容许下面的通信才能支持被动方式的FTP: 1. 从任何大于1024的端口到服务器的21端口(客户端初始化的链接) 2. 服务器的21端口到任何大于1024的端口(服务器响应到客户端的控制端口的链接) 3. 从任何大于1024端口到服务器的大于1024端口(客户端初始化数据链接到服务器指定的任意端口) 4. 服务器的大于1024端口到远程的大于1024的端口(服务器发送ACK响应和数据到客户端的数据端口) 以上关于主动和被动FTP的解释,能够简单归纳为如下两点: 一、主动FTP: 命令链接:客户端 >1024端口 -> 服务器 21端口 数据链接:客户端 >1024端口 <- 服务器 20端口 二、被动FTP: 命令链接:客户端 >1024端口 -> 服务器 21端口 数据链接:客户端 >1024端口 -> 服务器 >1024端口 (三)主动与被动FTP优缺点: 主动FTP对FTP服务器的管理有利,但对客户端的管理不利。由于FTP服务器企图与客户端的高位随机端口创建链接,而这个端口颇有可能被客户端的防火墙阻塞掉。被动FTP对FTP客户端的管理有利,但对服务器端的管理不利。由于客户端要与服务器端创建两个链接,其中一个连到一个高位随机端口,而这个端口颇有可能被服务器端的防火墙阻塞掉。 `` 因为配置完成filezilla以后,默认配置是主动模式,因此咱们要开启被动模式,并设置大于1024的端口  最后,防火墙入站规则要放开刚才配置的这些大于1024的端口。