搭建ftp服务器(主动模式,被动模式)

文章目录

一、基本概念

FTP主动模式(Active Mode)

在主动模式下,客户端通过随机端口N(N > 1023)连接到FTP服务器的21端口(控制端口)。当需要传输数据时,客户端会告知服务器使用另一个随机端口N+1进行数据传输。服务器则从20端口(数据端口)主动连接到客户端的N+1端口。

特点

  • 服务器主动发起数据连接
  • 可能因客户端的防火墙或NAT导致连接失败
  • 适用于服务器信任客户端网络环境的情况

FTP被动模式(Passive Mode)

在被动模式下,客户端通过随机端口N连接到FTP服务器的21端口(控制端口)。当需要传输数据时,服务器会告知客户端一个随机高位端口(P > 1023),客户端随后从端口N+1连接到服务器的P端口进行数据传输。

特点

  • 客户端主动发起数据连接
  • 适用于客户端位于防火墙或NAT后的情况
  • 服务器无需主动连接客户端,减少防火墙干扰

对比总结

特性 主动模式 被动模式
数据连接方向 服务器 → 客户端 客户端 → 服务器
服务器端口 固定20端口(数据) 随机高位端口
适用场景 服务器信任客户端网络 客户端位于防火墙/NAT后
防火墙影响 可能被客户端防火墙拦截 更易穿透防火墙

主要区别

主动模式:服务器主动连客户端。

被动模式:服务告诉客户端,来连我那个端口。

如何选择模式

  • 如果客户端位于严格防火墙或NAT后(如家庭网络),优先使用被动模式
  • 如果服务器配置严格,仅允许主动连接(如某些企业内网环境),则使用主动模式
  • 可通过FTP客户端软件(如FileZilla)手动切换模式。

二、使用Filezilla server配置被动模式

如图所示,主要是第3步,被动模式设置成端口区间。这个端口要让防火墙放开,否则客户端会获取不到目录。

假设设置成6003-6010,那服务器的防火墙就要把6003-6010放行。

假设设置成6003-6010,那服务器的防火墙就要把6003-6010放行。

假设设置成6003-6010,那服务器的防火墙就要把6003-6010放行。

假设设置成6003-6010,那服务器的防火墙就要把6003-6010放行。

重要的事情说了4遍了。

三、再回顾一下被动模式的步骤

工作流程:

  • 控制连接建立:与主动模式相同,客户端向服务器 21 端口发起控制连接。
  • 数据连接建立:
  1. 客户端发送PASV指令,请求服务器进入被动模式。
  2. 服务器生成一个随机数据端口 P(通常在 1024-65535 范围内),并告知客户端 "使用端口 P 进行数据传输"。
  3. 客户端收到后,主动向服务器的端口 P发起连接,用于传输数据。

看到了吗?

如果P端口被防火墙拦住了,那么客户端就会看不到ftp服务中的目录,无法进行文件操作。

相关推荐
腾渊信息科技公司7 小时前
工业数据运维痛点根治方案:基于AI Agent的产线自动化台账系统落地
运维·人工智能·自动化·个人开发·ai编程
Dxy12393102167 小时前
Proxy Protocol v2 详解
运维
踏月的造梦星球8 小时前
DMDPC 学习:架构、部署、运维与调优
运维·数据库·学习·架构
潘正翔8 小时前
docker核心概念
linux·运维·服务器·docker·容器·centos·运维开发
renhongxia19 小时前
世界模型,是“空中楼阁”还是AGI的“最后一块拼图”?
运维·服务器·数据库·人工智能·算法·agi
Dovis(誓平步青云)10 小时前
远程办公软件文件传输实测:6 款工具的速度、稳定性和办公体验对比
linux·运维·服务器·后端·生成对抗网络
专注_每天进步一点点10 小时前
SLB(绑定弹性公网ip)-gateway-业务pod,gateway上出现reset by peer,业务pod上没有reset by peer
服务器·tcp/ip·gateway
csdn_aspnet11 小时前
GitHub Actions自动化运维实战,用CI/CD流水线实现测试、部署、安全扫描一体化
运维·安全·ci/cd·自动化·github
ACP广源盛1392462567311 小时前
GSV6155@ACP# 搭配 AI 服务器、AI PC 完整适配方案
大数据·服务器·人工智能·分布式·单片机·嵌入式硬件
Inhand陈工12 小时前
数据中心UPS无功补偿与智能化监控方案:基于IG502的Modbus RTU转IEC61850实战
运维·人工智能·物联网·信息与通信