1)如果FTP服务器处于路由器,防火墙或其他NAT设备之后,建议使用被动模式(passive mode)。因为在主动模式下传输数据时,由FTP发起的数据传输一般会被客户端网关的防火墙阻断。

2)被动模式默认使用21号端口传输命令,采用随机端口传输数据。如果FTP服务器在防火墙之后,一定要在FTP服务器上指定传输数据的端口,并在防火墙上打开21端口和指定的端口。下图是Filezilla中相关的设置:

使用被动模式FTP的几点总结_模式

3)如果是用命令行来访问被动模式FTP服务器的话,一定要记得用‘passive’ 打开被动模式,否则会提示无法遍历目录(最常见的问题)。推荐使用FileZilla FTP客户端,既免费,又好用。
...
230 Logged on
Remote system type is UNIX.
ftp> passive
Passive mode on.

如果用IE来访问,也要启用被动模式(默认应该是开启的)
使用被动模式FTP的几点总结_休闲_02