阿里云centos下搭建vsftpd,被动模式出现的问题

最近计网课设要做一个ftp服务端,所以先在自己服务器搭一个来了解一下。

首先在默认情况下连接,227 Entering Passive Mode (192,168,*,*,227,175).

显示连接错误,网上说是阿里云安全组的问题,于是我去打开了,可还是不行。我用java实验了服务器的这些要用的端口,的确是打开了,能连上的。

网上查的教程都是教我怎么把ftp客户端的被动模式禁止掉的,我觉得很莫名奇妙,明明服务端出现了问题,不在服务端解决,却去搞客户端。

了解了一下这个错误信息,括号里面6个数字,前4个是ip地址,后两个是端口号(前一个乘于256再加上后一个)。那么错误原因就知道了。是我服务器发送了一个错误的ip,它把阿里云里面的内网IP给了出去,按道理是应该给外网ip的。

在/etc/vsftpd/vsftpd.conf 里加上 pasv_address=(外网ip),根据网上的教程。按道理应该是行了的。可是还是错了,不过错误信息改变了。

227 Entering Passive Mode (0,0,0,0,227,175).

似乎在给外网ip时发生了错误。

后来终于在两个英语网站找到了案。这里只贴出一个http://www.it1352.com/776839.html

我的理解是:vsftpd默认使用ipv6,我在上面加的那个属性地址,在使用IPv4时会发生错误。

解决方法:

listen=NO            -> listen=YES

listen_ipv6=YES    ->listen_ipv6=NO

这两处要一起改,单独改一处会发生错误,重启不了。

posted on 2019-05-29 21:42  潇潇六月雨  阅读(271)  评论(0编辑  收藏  举报

导航