FTP服务默认占用哪些端口,端口范围是什么?

FTP服务默认使用的端口是21(控制端口)和20(主动模式数据端口),被动模式下,数据端口从高位随机范围动态分配,这是绝大多数FTP服务端的一致默认行为,也是排查FTP连接问题时第一步要确认的基础。

FTP服务默认端口详解:主动模式与被动模式端口区别

很多新手第一次接触FTP时会有个疑惑:FTP到底用哪个端口?答案不是一个,而是两个,并且取决于工作模式,搞清楚这一点,就搞清楚了FTP端口的一半问题。

172-FTP服务的链接过程及主动模式与被动模式的区别
加载中
172-FTP服务的链接过程及主动模式与被动模式的区别

主动模式:服务器用20端口主动敲门

主动模式是FTP最早的工作方式,客户端先与服务器的21端口建立控制连接,然后客户端发送PORT指令,告诉服务器“我这个端口已经开好了,你直接来连”,此时服务器会从自己的20端口发起一条新的TCP连接,主动连接到客户端指定的那个端口。

整个过程可以拆成三步:

  • 客户端连接服务器21端口,发送用户名和密码。
  • 客户端开放一个本地随机端口(比如60000),通过控制连接告诉服务器。
  • 服务器从自己的20端口主动连接客户端的60000端口,数据开始传输。

主动模式的麻烦在于:服务器的20端口需要主动向客户端方向发起连接,当客户端处在NAT网关或防火墙背后时,服务器根本连不回去,企业内网、家用宽带的用户,主动模式几乎必然失败,这也是为什么现在多数FTP客户端把被动模式设为默认,但用户可以在客户端软件的“站点设置”里自由切换,需要根据网络环境选择。

被动模式:随机高位端口等你来连

被动模式(PASV)就是为了解决主动模式连不回去的问题而出现的,流程变成:

  • 客户端连接服务器21端口,发送PASV命令。
  • 服务器在本地开放一个高位端口(通常在1024以上),把这个端口号回传给客户端。
  • 客户端主动连接服务器的这个高位数据端口,开始传输数据。

被动模式下,数据端口不是20,而是一个临时随机端口,这个端口号由服务器软件配置决定,每次连接都可能不同,多数主流FTP服务端(如vsftpd、FileZilla Server、ProFTPD)默认从高位端口范围取数,具体范围因版本和设置而异,常见的配置区间比如50000-60000这种集中段,便于防火墙集中放行。

两种模式端口对比

对比项

FTP服务默认占用哪些端口,端口范围是什么?

主动模式(PORT)

被动模式(PASV)
控制端口2121
数据端口20随机高位端口(如1025-65535)
连接发起方服务器主动连客户端客户端主动连服务器
常见故障客户端防火墙拦截入站连接服务器防火墙未放行被动端口范围
适用场景服务器和客户端都在公网或同网段客户端处于NAT、家用宽带等环境

对于部署在云服务器上的FTP,被动模式更常用,因为云主机安全组通常只放行特定入站端口,固定放行一个被动端口区间,比放行20端口让服务器主动外连容易控制得多。

FTP端口被占用怎么解决?

FTP默认占用21端口,但21端口被其他程序抢占的情况在工作中时有发生,比如装了某些管理软件、系统服务冲突、或者另一个FTP实例没关干净。

排查分三步走:

  • 第一步:确认端口状态。 在服务器上执行netstat -ano | findstr :21(Windows)或ss -lntup | grep 21(Linux),看21端口是否被LISTEN状态占用,如果显示已被某个进程占用,记下PID,再通过任务管理器或ps -ef | grep PID定位是哪个程序。
  • 第二步:解决占用冲突。 如果是残留的FTP进程,直接结束进程,如果是其他无关软件占用了21端口,可以把那个软件的监听端口改掉,或者给FTP换端口。
  • 第三步:修改FTP服务端口。 比如把FTP改到2121端口,需要在服务端配置中修改监听端口,然后同步修改防火墙放行规则,否则外部连接会被防火墙拦掉,表现为“连接超时”而非“拒绝连接”。

行业内有一个容易踩的坑:很多刚入行的运维会把FTP和SSH的端口搞混,22是SSH的默认端口,不是FTP的,FTP的控制连接端口固定为21,数据端口随模式变化,安装FTP服务后记得检查防火墙,不要只放行20和21就算结束,被动模式下也要放行配置的那个端口区间,否则能登录但列表加载不出来,花大量时间排查客户端配置却查不到原因,这种情况在实际运维中占相当大比例。

FTP为什么需要两个通道?控制端口与数据端口的分工

FTP和HTTP、HTTPS最大的区别在于它使用双通道通信:控制通道和数据通道相互独立,21端口负责命令传输,比如用户登录认证、列目录、切换路径,数据端口负责实际的文件内容或目录列表传输。

FTP服务默认占用哪些端口,端口范围是什么?

这种设计的直接好处是:传输大文件时,如果控制连接出现短暂的网络波动,文件数据流的TCP会话仍然可以继续,不会因为一次指令超时就把整个传输掐断,一个控制连接上可以连续发起多个数据连接,客户端登录一次,多次下载文件,不必反复验证身份。

代价也是明显的:每建立一段数据连接就多占用一个端口,NAT设备需要额外跟踪这些动态端口,防火墙规则跟着变复杂,被动端口范围传输完成前不会自动释放端口资源,导致高并发场景下文件只传一小部分但端口连接处于CLOSE_WAIT状态,占用着FTP服务端的TCP连接上限。

FTP服务器端口如何修改与客户端连接配置

无论使用哪种FTP服务端,修改端口的思路是一致的:修改监听端口 → 修改防火墙规则 → 客户端用新端口连接。

Windows环境:IIS或FileZilla Server

IIS的FTP站点设置中,可以直接在“绑定”项里把端口从21改成其他数字,FileZilla Server则在“设置 → 被动模式设置”中开放一个范围,比如50000-50100,并可以自定义监听端口,旧版本默认被动端口范围较小,新版本默认行为有调整,配置后记得重启服务。

Linux环境:vsftpd 实操示例

vsftpd是Linux上最常见的FTP服务端,没有之一,修改被动端口范围的配置文件是/etc/vsftpd/vsftpd.conf,在文件末尾追加:

pasv_enable=YES
pasv_min_port=50000
pasv_max_port=50010

这段配置的含义是:开启被动模式,并且让服务器在50000-50010之间分配数据端口,配好后执行systemctl restart vsftpd,防火墙需要使用iptables或firewalld做一次放行:

firewall-cmd --add-port=21/tcp --permanent
firewall-cmd --add-port=50000-50010/tcp --permanent
firewall-cmd --reload

如果只放行21端口,登录时会提示连接成功,但一执行ls或上传文件就会卡死超时,这是FTP被动模式下最常见的工作场景,多数情况下按上述步骤处理即可解决。

客户端连接修改端口后的FTP

命令行FTP连接方式为ftp 服务器IP 端口,Windows资源管理器则输入ftp://IP:端口,FileZilla客户端在“主机”栏填写IP:端口或使用快速连接栏的端口输入框,端口修改后,数据库中原本存储的FTP站点地址也要同步更新,否则定时抓取文件的任务会一直报错。

FTP服务默认占用哪些端口,端口范围是什么?

FTP端口安全风险与防护思路

把21端口暴露在公网上,等于向所有扫描器公开了服务器上的FTP服务,端口扫描工具可以轻松识别出21端口运行的是FTP,然后尝试暴力破解弱口令,近年来针对FTP弱口令爆破的攻击流量仍然大量存在,云服务器后台安全组日志中经常能看到针对21端口的连续探测。

FTP本身是明文协议,用户名、密码和数据传输时都不加密,用抓包工具可以直接看到登录口令和文件内容,所以公网环境下的FTP服务,至少要遵循以下几点:

  • 修改默认21端口,降低被自动化扫描器直接锁定的概率。
  • 使用强密码并限制登录IP,服务器安全组或防火墙只放行业务需要的源IP。
  • 优先升级为FTPS(FTP over TLS)或SFTP(基于SSH),SFTP默认端口是22,不依赖FTP双通道模型。

行业共识认为:现有业务场景中,FTP更适合在内网或专线环境使用,公网环境除非有明确合规要求,否则直接用SFTP或对象存储会更稳,如果实在要用FTP,至少保证端口不裸奔、密码不简单。

常见问题

FTP默认端口21和20有什么区别?

21端口是FTP的控制端口,用于传递命令和登录信息,无论主动还是被动模式都用它,20端口是主动模式下专用的数据端口,用来传实际文件内容,被动模式下数据端口改从高位随机分配,20端口不参与工作,两者缺一不可,但各自承担的任务完全不同。

FTP主动模式和被动模式哪个好用?

多数情况下被动模式更好用,因为数据连接由客户端发起,避开了客户端NAT和防火墙对入站连接的限制,主动模式只有在服务器和客户端网络路径可以直接互通时才更省事,不需要额外配置被动端口范围,如果是租用的云服务器做FTP,建议直接设置被动端口范围并全部放行,否则客户端会频繁出现目录列表超时。

FTP端口被防火墙拦截时该怎么处理?

优先登录云厂商控制台,在安全组规则中放行21端口和配置的被动端口范围,再检查服务器本地防火墙,Linux服务器执行firewall-cmd --list-all查看放行列表,Windows服务器检查“高级安全Windows Defender防火墙”的入站规则是否允许TCP端口,若客户端在NAT后面,还需检查客户端所在路由器的端口映射配置,多数家用路由器默认禁止外网主动连接到内网高位端口。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/ftp%e6%9c%8d%e5%8a%a1%e9%bb%98%e8%ae%a4%e5%8d%a0%e7%94%a8%e5%93%aa%e4%ba%9b%e7%ab%af%e5%8f%a3%ef%bc%8c%e7%ab%af%e5%8f%a3%e8%8c%83%e5%9b%b4%e6%98%af%e4%bb%80%e4%b9%88%ef%bc%9f/

赞 (0)
Linux服务器怎么查看已启动的服务?,查看服务命令有哪些
上一篇 2026年10月12日 18:16
手游PUBG服务器繁忙登不进咋办,一直加载失败是什么原因?
下一篇 2026年10月12日 18:18

相关推荐

  • H响应式开发资讯内容怎么做?响应式网站开发技术详解

    响应式开发的核心在于通过流体网格、弹性图片和媒体查询,让同一套代码自动适配手机、平板和桌面端,从而在2026年确保资讯内容在不同设备上均能获得最佳阅读体验与SEO排名,在2026年的数字生态中,资讯内容的消费场景已经发生了根本性转移,用户不再固定坐在电脑前浏览网页,而是随时随地通过碎片化时间获取信息,这种变化迫……

    2026年6月3日
    3900
  • 广州FPGA服务器添加地址在哪?广州FPGA服务器地址配置方法

    在广州部署高性能计算集群,精准添加FPGA服务器地址是实现硬件加速、降低网络延迟并确保业务稳定性的首要前提,这一操作直接决定了数据传输的吞吐量与集群的响应速度,是构建高效能计算环境的核心环节,通过规范化的网络配置流程,企业能够最大化释放FPGA在AI推理、基因测序及金融风控等领域的算力潜能, 网络环境预检与基础……

    2026年3月29日
    11600
  • access数据库复习资料怎么看?access数据库常用函数有哪些

    Access数据库复习资料的核心在于掌握表结构设计、查询逻辑构建及窗体交互开发,建议优先通过“Access数据库基础操作教程”和“Access查询语句编写指南”等场景化资源进行针对性训练,而非盲目背诵理论,Access数据库基础概念与核心组件解析在准备Access数据库相关考试或实际项目时,首先要厘清其底层逻辑……

    2026年7月3日
    1000
  • 无尽资源服务器有哪些值得选,哪个性价比最高?

    所谓无尽资源服务器,简单说就是能承载海量影视、游戏或文件资源并随时供多人访问的服务器,目前主流方案集中在Emby/Jellyfin影视服务器、Minecraft无限资源生存服和NAS私有云三大类,无尽资源服务器有哪些主流类型很多人在搜索“无尽资源服务器”时,心里想的并不完全一样,有的人要找影视库,有的人要找游戏……

    2026年10月19日
    100
  • Java虚拟机4.0核心优化有哪些?,新增特性是什么

    Java虚拟机4.0的核心优化集中在低延迟垃圾回收、即时编译重构、虚拟线程深度整合以及云原生启动加速四大方向,同时新增了值类型、结构化并发和可观测性接口,让JVM在云环境下的表现接近原生编译程序,Java虚拟机4.0相比旧版本最直观的启动提速是怎么做到的老Java开发者都有过这种体验:一个Spring Boot……

    2026年9月8日
    100
  • 抖音服务器策略究竟有哪些,怎么优化最有效?

    抖音能承载数亿用户同时刷视频,靠的不是某台超级服务器,而是一整套从边缘到核心的分层调度策略,这套体系覆盖网络接入、内容分发、数据处理和流量调度,核心逻辑是把视频内容推到离用户最近的地方,把计算压力分摊给成千上万个节点,# 抖音服务器怎么解决卡顿:先把内容塞进你家门口刷抖音最怕转圈圈,抖音服务器策略的第一个关键词……

    2026年9月25日
    200
  • 福州网站建设流程中创建设备怎么做?, 步骤有哪些?

    在福州建设设备类网站,标准流程包含需求沟通、UI设计、开发与创建设备环境、测试上线、后期维护五个阶段,其中服务器和域名配置是确保网站可访问的基础,福州网站建设流程是什么?针对设备行业的完整步骤需求沟通与方案确认在网站建设前期,需要明确设备类型、目标客户、功能需求,一台工程机械的官网,需要展示产品参数、应用案例……

    2026年8月2日
    800
  • 广州gpu服务器公司哪家好?广州gpu服务器租用价格

    在广州地区寻求高性能计算解决方案,选择一家具备深度技术服务能力的广州gpu服务器公司,是企业实现AI模型训练效率倍增、渲染成本减半的关键决策,核心价值在于通过定制化硬件架构与全生命周期运维,彻底解决算力瓶颈与稳定性难题,算力选型的核心逻辑:匹配场景优于堆砌参数企业在部署GPU服务器时,往往陷入单纯追求显卡型号的……

    2026年3月30日
    9800
  • HTML如何获取JS变量值?js获取html元素值的方法

    new Vue({ el: ‘#app’, data: { message: ‘Hello Vue!’ }})“`这种声明式编程范式,极大地降低了“获取JS值并显示”的认知负担,FAQ:html获取js值常见疑问html获取js变量值的方法有哪些?主要有三种方法:一是通过document.getElement……

    2026年6月5日
    4400
  • 广州三维数据可视化专业设计公司哪家好?广州三维可视化设计公司排名

    在广州寻找能够将复杂数据转化为直观决策依据的合作伙伴,核心在于考察其是否具备“技术+艺术+行业洞察”的综合交付能力,一家优秀的广州三维数据可视化专业设计公司,不仅仅是画面的制造者,更是企业数字化转型的战略参谋,其交付成果应直接赋能业务决策,实现数据价值的最大化, 专业壁垒:为何三维可视化成为企业刚需随着大数据时……

    2026年3月29日
    7400

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注