阿里云centos7 创建ftp服务器 get put ls等不能使用 - 内外网、IPv6设置问题

正常yum安装后,配置vsftpd.conf 

结果ftp命令get put ls 等不能使用,查找结果后有说是什么selinux没关闭、passive模式、防火墙等等问题,都不适用

结果是因为阿里云服务器默认将内网ip暴露给ftp客户端,怎么使用都不对,而且默认是开启IPv6的

按照以下参考即可解决

引用:

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

首先在默认情况下连接,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

这两处要一起改,单独改一处会发生错误,重启不了。
————————————————
版权声明:本文为CSDN博主「想喝水」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ridicuturing/article/details/80308053

你可能感兴趣的:(技术,ftp,linux)