搭建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服务中的目录,无法进行文件操作。

相关推荐
poison_Program14 分钟前
使用 Prometheus 监控服务器节点:Node Exporter 详解与配置
运维·服务器·prometheus
张童瑶14 分钟前
Linux 离线安装lrzsz(rz、sz上传下载小插件)
linux·运维·centos
DebugKitty29 分钟前
网络编程1-基本概念、函数接口
运维·服务器·网络·网络协议·socket·tcp
Mr. Cao code40 分钟前
Nginx与Apache:Web服务器性能大比拼
运维·服务器·前端·nginx·apache
Monly212 小时前
Docker:技巧汇总
运维·docker·容器
小戈爱学习2 小时前
OpenLDAP 服务搭建与配置全流程指南
服务器·数据库·oracle
郝同学的测开笔记2 小时前
打通回家之路:OpenVPN,你的企业网络万能钥匙(一)
运维·后端·测试
俊昭喜喜里2 小时前
C#和SQL Server Management Studio的连接
服务器·数据库·c#
云心雨禅3 小时前
VPS一键测试脚本NodeQuality,无痕体验+自动导出,服务器测试更轻松
运维·服务器·github