您的位置:首页 > 编程语言 > PHP开发

ftp上传文件慢卡问题的解决

2017-02-16 12:28 274 查看
linux系统下,安装有VSFTP服务器,多人共用一个ftp账号。以前传文件没问题。最近遇到登陆不顺(不是不能登陆),列表显示和传文件都慢,卡的问题。

具体表现为:登陆不报错,但打开空白。列表也空白,要半天才出来。传文件也要反复多次才能上传成功。 开始以为是防火墙的问题。关了一样。时好时坏。有人说是网络问题。但同样在阿里云上另一台服务器没这个问题。

从软件信息来看,有报错:

[11:54:59] [R] 227 Entering Passive Mode (xxxxxxxx).

[11:54:59] [R] 正在打开数据连接 IP: 121.0.0.0 端口: 40519

[11:54:59] [R] LIST -al

[11:54:59] [R] 425 Security: Bad IP connecting.

[11:55:00] [R] 列表 错误

[11:55:00] [R] 以 PASV 模式连接失败,正在尝试 PORT 模式。

[11:55:00] [R] 正在侦听端口: 14912,正在等待连接。

[11:55:00] [R] PORT 10,xx,xx,xx,58,64

[11:55:00] [R] 500 Illegal PORT command.

[11:55:01] [R] 列表 错误

就是反复在主动和被动模式之间转换。因为有Bad IP字样。阿里技术员说可能是安全组设置而拦截了。但三台服务器,都在一个安全组,另两台服务器的FTP服务正常(用的是另一种FTP)。

经查,vsftp的被动模式默认打开安全检查,该检查确保数据连接和控制连接是来自同一个IP地址。解决办法是关闭被动模式的安全检查。

办法:在/etc/vsftpd/vsftpd.conf文件中添加如下一行:

pasv_promiscuous=YES

然后重新启动vsftp服务:service vsftpd restart

至此问题解决。

为什么以前可以现在出问题呢?原来,本单位是一个集团单位,IP地址有电信联通多路,多个IP且经常自动切换。每天登陆的IP都在变。而且最近还发现启用了以前没有的新IP。这个问题很可能是在连接中变换了IP地址造成的。这一点与本单位情况相符。

有人说启用主动模式连接不就解决了。我启用主动模式后仍报错,仍会转换为被动,如果VSTFP中设定为主动模式,无法转换,则报错。

据我的理解,主动模式服务器只用一个固定端口(20)来新建一个连接客户线路传数据。但由于多人共享一个账号,如果同时登陆,就会造成服务器端口冲突。被动模式,是服务器打开一个新端口,由客户端来新建连接传递数据。这样就可以同时多路工作而不冲突。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息