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

相关推荐
对着晚风做鬼脸1 小时前
MySQL 运维知识点(十六)---- 读写分离
运维·数据库·mysql·adb
Rsingstarzengjx5 小时前
搭建Jenkins gitlab 环境
运维·服务器
君之嘞7 小时前
【操作系统基础】认识操作系统:系统调用
linux·运维·microsoft
爱倒腾的老唐7 小时前
07、Linux 文件管理
linux·运维·服务器
24zhgjx-fuhao8 小时前
基于时间的ACL
运维·网络
Raymond运维8 小时前
MySQL包安装 -- RHEL系列(离线RPM包安装MySQL)
linux·运维·数据库·mysql
心灵宝贝9 小时前
libopenssl1_0_0-1.0.2p-3.49.1.x86_64安装教程(RPM包手动安装步骤+依赖解决附安装包下载)
linux·运维·服务器
数据知道9 小时前
Go语言:数据压缩与解压详解
服务器·开发语言·网络·后端·golang·go语言
btyzadt9 小时前
Ubuntu中安装Nuclei教程
linux·运维·ubuntu
养生技术人9 小时前
Oracle OCP认证考试题目详解082系列第45题
运维·数据库·sql·oracle·开闭原则·ocp