linux云服务器宝塔安装pure-ftpd连接问题

使用宝塔界面为云服务器安装了pure-ftpd软件,能够正常连接和登录,但是出现了以下错误:

响应:	227 Entering Passive Mode (120,26,15,119,155,15)
命令:	MLSD
错误:	20 秒后无活动,连接超时
错误:	读取目录列表失败

在一阵排查后,最终问题定位到未再阿里云后台的安全组开放39000-40000端口,过程如下:

1、宝塔界面安装pure-ftpd软件
在这里插入图片描述
2、配置中修改ForcePassiveIP为自己公网IP,将前面的#去掉,并重新启动
在这里插入图片描述
在这里注意看上面的PassivePortRange属性,表示我们ftp使用被动模式时服务器向我们传输数据使用的端口

主动模式POST和被动模式PASV
主动模式ftp服务器端口为2021端口:

  • 客户端向ftp服务器通过21端口提交连接请求;
  • ftp服务器通过21端口跟客户机建立连接;
  • 客户机开放自己的一个端口(1024以上)告诉ftp服务器
  • ftp服务器使用自己的20端口与其建立连接,在该连接上传输数据

被动模式ftp服务器端口为21PassivePortRange范围的端口:

  • 客户端向ftp服务器通过21端口提交连接请求;
  • ftp服务器通过21端口跟客户机建立连接;
  • ftp服务器随即开放一个PassivePortRange范围的端口,并告诉客户端
  • 客户端接收端口号并与其建立连接

区别:从上面的运行原来看到,主动模式和被动模式的不同简单概述为: 主动模式传送数据时是“服务器”连接到“客户端”的端口;被动模式传送数据是“客户端”连接到“服务器”的端口。

  • 主动模式需要客户端必须开放端口给服务器,很多客户端都是在防火墙内,开放端口给FTP服务器访问比较困难。
  • 被动模式只需要服务器端开放端口给客户端连接就行了
    prue-ftpd默认是被动模式工作的,需要用到PassivePortRange范围的端口进行传输数据,所以PassivePortRange范围的端口要像20``21端口一样开放

3、开放端口,重要的步骤
1)安全组开放
在这里插入图片描述
2)宝塔安全开放
20端口显示未使用不用在意,因为我们默认使用的时PASV被动模式,所以用不到20端口,所以显示未使用。
在这里插入图片描述
在这里插入图片描述
3)防火墙端口开放,并且防火墙ftp服务开放
在这里插入图片描述

#开启ftp服务
firewall-cmd --add-service=ftp --permanent

4、测试
使用FileZilla连接:
在这里插入图片描述

总结

  • 端口的使用

    云服务器使用宝塔界面开放端口需要三处同时开放
    * 云服务器安全组
    * 宝塔安全组
    * 防火墙端口
    但即使三处的端口都开放了,也只是说本机可以使用这个端口了,并不代表其他机器能够访问该端口。例如:8080端口给tomcat服务器使用,三处都开放了8080端口,但是我们使用在线测试工具可以发现8080端口处于关闭状态
    在这里插入图片描述
    也就是说开放端口仅仅是能够使得本机使用该端口联系外面,当我们开启tomcat服务器时,外面即可访问该端口,也就是服务器使得该端口能够对外访问:
    在这里插入图片描述
    所以我们可以发现,开通ftp后由于使用的PASV被动模式,使用不到20端口,所以其并没有对外开放,下图表示正在使用39416与客户机建立ftp连接,其他端口没有使用
    在这里插入图片描述

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值