安装vsftp服务器的时候遇到的问题centos
环境说明:安全
系统:阿里云centos7服务器
面板:宝塔面板tcp
问题描述:ide
在centos7中安装VSFTP的时候,使用命令行,ftp 而后输入用户名和密码,登录以后,put文件就能够上次到ftp上面。以下图:阿里云
可是,使用程序的话,一直提示失败,链接超时。而后断点跟着进去,进入到源码的时候,能够发现:__passivePort这个值是一个比较大的,并且每次仍是会变化的。查看这个端口是30442(注:本次运行后的端口是这个值,这个值是会变化的)。以下图:centos7
咱们知道,ftp的默认端口是21.这个端口是没问题的(废话嘛,ftp命令行模式上传文件就上传成功了),指定端口创建ftp链接时候由于端口通的,因此是没有问题的。可是,咱们在使用程序的时候,用的是被动链接模式PASV,创建链接后要进行数据传输的话,须要另外的高位端口的(如上图,凯哥遇到的就是30xxx,这样的高位端口的)。是否是由于这个高位端口没有开通致使的呢?spa
凯哥第一个想法就是:看看阿里云的安全组是否是没有开发致使。因而登录安全组查看:命令行
曾经开经过30999这个端口。orm
再来看看防火墙是否是没有开通这个端口:使用命令:firewall-cmd --list-ports
以下图:
咱们能够看到,开通了39000-40000这个范围的端口,可是程序使用的端口是:304xx。比这个小,是否是由于这个缘由呢?
使用命令添加防火墙端口命令,以下:
firewall-cmd --zone=public --add-port=30000-40000/tcp –permanent
执行完成以后,
等会在查看,咱们能够看到防火墙上,已经开通了端口30000-40000的。而后再阿里云的安全组也开通这个端口:
入网:
出网:
由于凯哥使用了宝塔面板,因此在宝塔面板的安全中也放行这个端口:
修改以后,从新使用程序上传,结果就上传成功了!
总结:
在使用vsftpd的时候,不只须要开发21端口,还须要开放高位端口,供被动模式使用的。
凯哥在本案例中修改的地方有三个:
1:防火墙开通被动端口30000-40000
2:阿里云安全组开发一样范围的端口
3:在宝塔面板安全,也放行一样范围的端口(注:若是没使用宝塔的话,此步能够省略)
凯哥二维码