Passive mode settings(被动传输模式设置):这个页面要重点关注。如果服务器本身直接拥有固定的公网IP,可以选软件默认。
现在根据你家的网来说,有好几种情况
-
倘若服务器是在局域网里面,在一个网关后面,那么就要选择第二项“Use the follwoing IP”,并且在下面的输入栏填写公网的IP地址;否则,客户端用PASV被动模式可能无法连接FTP服务器。因为服务器是在内网中,在客户端使用PASV 模式连接服务器的时候,服务器收到连接请求之后需要把自身的IP地址告诉客户端,由于服务器在内网中,它侦测到的IP地址是内网的(如 192.168.0.5),它把这个IP地址交给客户端,客户端自然无法连接。在这里设置了指定的IP地址后,服务器就会把这个公网合法的IP地址提交给客户端,这样才能正常建立连接。
-
如果服务器是动态IP的,那么可以选择下面的“Retrieve external IP address from”【在下列未知中检索外部ip】,利用FileZilla官方网站免费提供的IP查询页面获取当时的公网合法IP,然后服务器把这个公网合法IP地址提交给客户端。当然静态 IP也可以用这个,只不过没有必要。
但是我这里测试,这个
http://ip.filezilla-project.org/ip.php
这个官方地址是没用的了,于是还是只能选择【使用下列IP】,因为虽然有公网IP,但是公网ip是动态的,那该如何是好?不要急,这时候你需要注册一个域名,这个域名可以解析你的地址,这个位置填写你的域名就好了
如果你问我,自己的公网是动态公网,该怎么自动解析自己的ip和域名绑定呢?
用下面这个软件:DynSpod ,也可以点击这个官网地址
这个设置页面对服务器位于内网的情况非常重要。有些FTP服务器端没有这个设置项目,客户端就只能用Port主动模式连接。当然有些客户端软件针对这个问题有专门的设置,如FlashFXP的站点设置中只要选中“被动模式使用站点IP”就可以了。
对于在局域网中的服务器,如果服务器没有置于DMZ区,那么强烈建议选中下面的“Use custom port range”定义PASV端口范围。由于PASV模式中,是服务器随机打开端口,然后把打开的端口号告诉客户端,让客户端连接打开的端口。但是因为服务器处于网关后面,如果网关那里没有做对应的端口映射,客户端从外网就无法连接服务器打开的端口,导致PASV模式连接失败。在这里限定服务器打开的端口范围,然后到连接外网的网关那里,对服务器的这些端口做端口映射(虚拟服务)。这需要服务器和Internet网关设备配合设置,这样外网的客户端才能用 PASV模式连接进来。