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

[解决方案] 关于云服务器FTP搭建的一些小问题(PASV连接超时)

2016-11-16 17:29 344 查看
http://bbs.qcloud.com/thread-1343-1-1.html

 在云服务器使用过程中,上传文件是必要的步骤,大家第一时间想到的工具就是FTP,相信大家在使用腾讯云服务器搭建FTP的时候或多或少都会遇到搭建成功,但是无法连接,通过filezilla客户端打印的日志来看,几乎都是会卡在pasv上,这里我向大家简单介绍下云服务器FTP方面的问题。

想要了解PASV的结论可以直接将滚动条拖到最下方

我这里以CentOS 6.3 系统   vsftpd作为FTP服务端    filezilla作为客户端 做实例

1、安装vsftpd软件

可以直接执行 yum install vsftpd
-y 来进行安装

2、启动vsftpd服务

serverice vsftpd start

netstat -tunlp 来确认ftp服务是否已经启动


 

外网可以使用telnet ip 21来进行测试


 

这样就算安装成功了,当然这样安装完毕还不能直接通过FTP客户端去连接访问需要简单做下配置

3、编辑 vsftpd 配置文件

执行 vi /etc/vsftpd/vsftpd.conf
找到文件中的“anonymous_enable=YES” 改为 “anonymous_enable=NO” 默认是允许匿名登录,我们此项设置将不允许匿名登录。


 

4、添加FTP用户

执行 useradd
-m -d /home/ftpuser1 -s /sbin/nologin ftpuser1 添加名为 ftpuser1 的用户
        passwd
ftpuser1 为ftpuser1设置登录密码

5、添加完毕之后理论上就可以访问了,但是之前提到的PASV的问题就出在这里。
按照上面步骤搭建完毕是没错的,但是可能大部分朋友在用FTP客户端去连接的时候会遇到如下情况


 

卡在了PASV,这里我重点介绍下这个情况。
首先要明确的是,出现这个问题不是大家搭建出的问题,也不是云服务器系统问题,而是FTP协议在腾讯云网络架构上的不适。

FTP协议传输文件有2种模式,分为主动模式和被动模式(有兴趣的朋友可以移步这里了解更多的信息)

这里的问题原因简单来讲是这样:FTP客户端默认的传输模式是被动模式,因此在通信过程中会去寻找服务器端的ip地址进行连接,但是由于腾讯云的外网ip不是直接配在网卡上,因此在被动模式下客户端找不到有效的ip(因为找到的是腾讯云的内网ip,内网ip无法直接和外网通信),故无法建立连接

解决方案有2种:
a、将客户端传输模式改为主动即可;
b、如果客户端网络环境要求被动模式,那么需要在服务端的配置文件中新增这些语句 

pasv_address=***.***.***.***( 外网ip)
pasv_enable=YES
pasv_min_port=1024
pasv_max_port=2048

感谢3楼热心提供 


       当然 ,平台也明白这虽然是个小问题,但是不应当由客户买单,因此平台目前也在着手去修复这个小问题,目前正在逐步发布新策略去解决这个问题,相信不久以后各位在FTP使用过程中将不再会遇到“PASV问题”。不过在尚未完全发布期间,各位遇到此类问题还请大家先尝试上面的解决方案,感谢大家的支持。
-------------------------------------------------------------------------------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐