在测试防火墙时出现了此问题,可以正常登录,但是无法传送数据,推测问题出在了端口上。当时在防火墙上只配置了20、21端口,FTP21端口用于建立连接,所以问题出在了20端口上。
根本原因是FTP的主、被动工作模式,大部分FTP客户端默认使用被动模式PASV。在被动模式中,客户端和服务器的21端口建立连接之后,需要传输数据时,客户端会发送PASV命令,服务器随机开启一个高级端口并将端口号发送给客户端,客户端连接的是此端口,而非20端口。
查询资料得到以下两个解决办法:
方法一:登录FTP服务器之后,使用passive命令关闭客户端的PASV(被动模式),强制使用PORT主动模式。(但是测试无效)
方法二:在VSFTPD端的防火墙所在服务器执行以下命令:
modprobe ip_nat_ftp
为防火墙加载ip_nat_ftp模块,用于识别FTP被动模式的随机端口,得以在被动模式下正常使用FTP。
FTP 227 Entering Passive Mode (192,168,10,10,76,252).解决办法
最新推荐文章于 2024-01-23 10:15:17 发布