现场问题:FTP传输数据偶现连接失败,无法传输数据

项目场景:

中心节点A, 分布式节点B,分布式节点C,安装子系统到B和C(在同一网段或者网络互通)


问题描述

软件包上传到中心节点A,分布式B和C通过连接中心节点A的FTP去拉取软件包来安装,偶现拉取失败
Java代码中提示创建连接失败


原因分析:

考虑正常环境没有此类问题,所以应该是环境方面的问题,正好是运营商项目,现场对网络管理较为严格

  1. 检查ftp状态,systemctl status vsftpd,状态没有异常
  2. 在分布式B上用ftp命令连接中心节点A的ftp,此时运行ls命令查看ftp目录时发现异常,ls几次就会提示无法连接:Connection refuse
  3. 也就是说FTP连接被动模式下,连接时能创建,时不能创建,此时考虑可能是现场大于1024的端口也做了管控,内网之间也没有完全放开

此处简单说下FTP被动模式与主动模式
主动模式:客户端随机开一个大于1024的端口向服务端21端口建立连接,然后开放N+1端口并监听,服务端默认通过20数据端口向客户端端口传输数据
被动模式:同上,客户端向服务端21端口发起连接,服务端开放N+1端口用于传输数据,客户端连接服务器数据端口获取数据

所以被动模式下,服务端随机分配的端口可能分布式无法连接,所以连接创建失败


解决方案:

设置vsftp为被动模式并指定打开的数据端口范围,此处要与现场沟通好,一般有端口管控的现场,可能涉及到申请等,需要告知端口用途
vi /etc/vsftpd/vsftpd.conf
pasv_enable=YES
pasv_min_port=10000
pasv_max_port=10020

systemctl restart vsftpd

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值