2013年1月5日星期六

ubuntu vsftp 能够登陆,不能上传问题

之前在 vps 上面搭建过 vsftpd 工作的一直很好,不知道从什么时候发现无法上传了,能够成功登陆,就是不能上传,因为忙所以一直也没有管,今天晚上因为想往上面传点东西,于是就又认真的开始排查问题,现实看配置文件选项,然后再查看权限 ,又用 telnet  测试了下 21 端口,都没有问题;最后没有办法了,只好尝试抓包分析了;用 wireshark  看,发现在进行传输的时候,服务器去尝试连接我客户端的  20 端口, 这个是没有问题的;

( ftp协议的主动传输模式,就是 ftp 服务器去主动连接客户端的 20 端口;)

但是发现一直都在尝试 20  端口, 这就是问题了; 按理来说,在采用 主动传输失败的时候,应该是可以切换到被动传输的模式。

( ftp协议的主动传输模式,就是 ftp 服务器打开一个随机端口,并告知客户端,然后客户端连接服务器的端口,并进行数据的传输。)

这时我才想到 vsftp.conf  里面有个 20  端口相关的配置项目

# Make sure PORT transfer connections originate from port 20 (ftp-data).
connect_from_port_20=YES

需要将上面的这个配置给注释掉,否则会一直采用 20 端口进行数据传输,也就是主动模式了。

注释完后,重启一下 vsftpd 服务,登陆正常,上传正常!

-----------------------------------------------

题外话,为了图省事,把博客放在了 blogger  上了,访问没有问题,就是写博客费劲点了;因为无法登陆后台,只能通过其他办法了,我比较喜欢使用 live writer ,但是 live writer 连接blogger  也需要连接 vpn , 并且最近 gfw  对opevpn 进行封锁,所以又折腾了会儿才连上 了 ;  一会儿我也尝试一下从 outlook 里面发邮件的方式发布博客。

没有评论:

发表评论