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

相关推荐
ZenosDoron12 小时前
Linux/Unix 系统中用于创建链接的命令ln
linux·运维·unix
勤劳的进取家12 小时前
传输层基础
运维·开发语言·学习·php
搬码后生仔12 小时前
【navicat不安装sql server直接远程连接服务器数据库】
运维·服务器·数据库
tingting011912 小时前
dns域名信息收集
linux·服务器·前端
JiaWen技术圈12 小时前
nf_tables 架构深度详解(内核级完整架构)
linux·服务器·安全·运维开发
007张三丰12 小时前
系统架构设计师范文5:论负载均衡设计
运维·系统架构·负载均衡·软考·软考高级论文
志栋智能12 小时前
跨越人机边界:超自动化巡检如何重塑工作流程?
运维·网络·人工智能·安全·自动化
zzipeng12 小时前
IMX6ULL CAN通讯应用学习
linux·运维·网络
乌托邦的逃亡者12 小时前
Ubuntu主机中,为一个网卡设置多个IP地址
服务器·网络·ubuntu
goyeer12 小时前
【ITIL】ITIL服务管理的四个维度
大数据·运维·信息化·自动运维·itil