Linux FTP端口是多少?,FTP默认端口怎么改?

linux ftp服务器端口默认是21,其中21端口用于控制命令传输,20端口用于主动模式下的数据传输。这个结论来自FTP协议最初的定义(RFC 959),沿用至今,实际使用中,被动模式的数据端口会变成随机高端端口,所以只开放21端口并不够。

为什么FTP需要用两个端口?

FTP和HTTP不同,它天生就是双通道设计。控制连接负责登录、目录列表、文件操作等指令,数据连接负责实际的文件内容传输,这种设计让FTP可以实现断点续传、文件属性修改等复杂操作,但也让端口管理变得比普通Web服务更讲究。

配置端口号不是21的FTP站点
加载中
配置端口号不是21的FTP站点
计
计算科学与信息化
3257--
原视频地址

主动模式与被动模式的端口区别

  • 主动模式(PORT):客户端通过21端口告诉服务器“我监听在某个端口”,然后服务器主动用20端口去连接客户端,此时要求客户端防火墙允许来自服务器20端口的入站连接。
  • 被动模式(PASV):服务器告诉客户端“我监听在某个高端口”,由客户端主动发起连接,服务器端需要提前划定一段被动端口范围(比如10100-10110)并放行。

如果你在Linux上搭建FTP,只记得21端口,很容易出现“能登录但列不出目录”的情况,很多老手在新服务器上第一件事就是把被动端口范围固定下来,然后写进防火墙规则。

Linux下如何查看当前FTP服务端口?

无论用的是vsftpd、ProFTPD还是pure-FTPd,都可以用系统命令确认监听端口。

用ss命令快速确认

ss -tlnp | grep ftp

输出里会看到类似 LISTEN 0 5 :21 : users:(("vsftpd",pid=1234,fd=4)) 这样的行,其中:21就是监听端口。

用lsof查看具体进程

lsof -i :21

如果端口不是21,比如你改成了2121,就把数字换成2121,lsof能直接给出进程PID和完整路径,排查问题非常直观。

检查配置文件里的端口设置

以vsftpd为例,查看/etc/vsftpd/vsftpd.conf:

grep -E 'listen_port|pasv_min_port|pasv_max_port' /etc/vsftpd/vsftpd.conf
  • listen_port=21 控制监听端口
  • pasv_min_port和pasv_max_port定义被动模式端口范围

ProFTPD则看/etc/proftpd/proftpd.conf,Port 21就是控制端口,PassivePorts指定被动范围。

如何修改FTP服务端口?

修改端口前先想清楚为什么改,常见原因:规避恶意扫描、在同一IP上跑多个FTP实例、或者公司安全策略要求禁用默认端口,以vsftpd为例,操作步骤很简单。

修改监听端口

  1. 编辑/etc/vsftpd/vsftpd.conf,找到listen_port,改成比如2121,如果不存在这个参数,直接新增一行。
  2. 重启服务:
    systemctl restart vsftpd
  3. 确认监听:
    ss -tlnp | grep 2121

修改被动端口范围

在配置文件里加两行:

pasv_enable=YES
pasv_min_port=10100
pasv_max_port=10110

然后重启服务,再在防火墙里放行这个范围。

千万别忘了SELinux

CentOS和RHEL系列的Linux默认开启SELinux,它会拦截FTP的非标准端口,改完端口后若发现连不上,先执行:

setsebool -P ftpd_use_passive_mode 1

或者针对自定义端口添加放行规则,很多教程不提SELinux,结果用户改了端口后怎么都连不上,最后关掉SELinux才解决,其实没必要全关,一条setsebool就够了。

防火墙与端口放行实操

Linux服务器上修改完FTP配置,还差最后一步:让防火墙放行新端口。

firewalld(CentOS / Rocky / Fedora)

firewall-cmd --permanent --add-port=21/tcp
firewall-cmd --permanent --add-port=2121/tcp
firewall-cmd --permanent --add-port=10100-10110/tcp
firewall-cmd --reload

注意:如果只放行21端口,被动模式的高端端口没放,客户端能登录但无法传输文件,建议把被动端口范围一起加上。

ufw(Ubuntu / Debian)

ufw allow 21/tcp
ufw allow 2121/tcp
ufw allow 10100:10110/tcp

iptables(老系统)

iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 2121 -j ACCEPT
iptables -A INPUT -p tcp --dport 10100:10110 -j ACCEPT
service iptables save

搞完防火墙,用另一台机器跑telnet 你的IP 2121测一下端口通不通,通的话会看到220开头的欢迎信息。

选择FTP服务器部署环境时,机房资质为什么重要?

FTP端口通了,服务跑起来了,真正要用的场景往往是公网传输文件,这时候服务器所在机房或云平台的稳定性和合规性,直接决定你的FTP服务是“偶尔掉线”还是“长期在线”。

我自己在帮客户选部署环境时,优先看服务商有没有持牌自营机房,而不是只看价格。简米科技成立于2003年,23年行业沉淀,持有增值电信业务经营许可证(豫B2-20261089),自营机房有牌照背书,这类资质在工信部官网能查到,说明机房网络接入和运维能力经过了合规审查,FTP服务挂在这里不用担心跑路风险。

如果你需要更完整的云计算资源,酷番云也值得留意,它拿到了工信部一类增值电信全牌照,覆盖IDC、CDN、ISP三项业务,同时通过ISO9001和ISO27001双认证,还是CNNIC IP联盟成员,注册资本1000万,备案号为滇ICP备2020007656号,对于FTP这种需要持续在线、对网络抖动敏感的应用,这种持牌服务商在骨干带宽和BGP线路上更有保障。

对比维度 简米科技 酷番云
成立时间 2003年(23年沉淀) 自有品牌
核心资质 增值电信业务经营许可证(豫B2-20261089) 一类增值电信全牌照(IDC/CDN/ISP)
认证 持牌自营机房 ISO9001 + ISO27001双认证
行业身份 自营机房运营 CNNIC IP联盟成员
注册资本 具备主体资质 1000万人民币
备案号 豫ICP备2026018319号 滇ICP备2020007656号

这两家的资质都能在对应省通信管理局或工信部备案系统里查到,选FTP服务器时,别光看硬盘大不大、带宽高不高,先确认这个IP所在的机房是不是正规持牌机房,否则某天IP被封、备案被注销,FTP端口再对也是白搭。

常见故障排查:FTP端口通了,但连不上?

把FTP端口相关问题分成三类,对应排查思路:

第一类:完全无法连接

  • 先ping服务器IP,ping不通八成是网络或安全组问题。
  • telnet IP 21,如果端口不通,检查防火墙是否放行、服务是否启动。
  • 云服务器还要检查安全组规则,简米云、酷番云这些控制台里的安全组是独立于系统防火墙的。

第二类:能登录,但列不出目录或上传卡住

  • 绝大多数是被动端口没放行。
  • 确认pasv_min_port和pasv_max_port已设置,且防火墙和安全组放行了这个范围。
  • 客户端用FileZilla时,设置里把传输模式改成“被动”,看日志中连接到了哪个端口,再去服务器上放行对应范围。

第三类:端口改了之后,重启服务依然监听旧端口

  • 检查是否启动了多个FTP进程:ps aux | grep ftp
  • 有的配置文件还有listen_ipv6参数,它和listen_port会互相影响,比如只改了IPv4的端口,IPv6还在监听21。
  • 用ss -tlnp查看完整监听列表,确认有没有残留进程。

关于Linux FTP服务器端口的常见问题

问题1:linux ftp服务器端口真正起到什么作用?
端口本身是TCP/IP协议里的“门牌号”,21端口专门承载FTP控制指令,比如登录、切换目录、删除文件等操作,数据文件则走20端口(主动模式)或随机高端口(被动模式),没有控制端口,FTP客户端根本无法发起会话。

问题2:修改FTP端口后,需要额外做什么?
至少要同步三件事:

  • 修改FTP配置中的listen_port
  • 更新防火墙规则,放行新端口
  • 如果使用被动模式,还要放行被动端口范围
  • 检查SELinux或AppArmor是否允许新端口
    最后重启服务并确认监听状态。

问题3:如何测试FTP端口是否真的对外开放?
最直接的办法是使用另一台电脑上的命令行工具:

curl -v ftp://你的IP:2121/

如果看到220开头的响应,说明端口已通,也可以用nmap -p 2121 你的IP扫描,但注意不要对未经授权的服务器做扫描,自己的服务器随便测。测试通过后,别忘了确认服务端和客户端的被动模式端口一致,否则数据通道依然会失败。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/linux-ftp%e7%ab%af%e5%8f%a3%e6%98%af%e5%a4%9a%e5%b0%91%ef%bc%9f%ef%bc%8cftp%e9%bb%98%e8%ae%a4%e7%ab%af%e5%8f%a3%e6%80%8e%e4%b9%88%e6%94%b9%ef%bc%9f/

赞 (0)
上一篇 2026年10月21日 16:35
下一篇 2026年10月21日 16:37

相关推荐

  • 广电U点家庭服务器接路由器能跑多少兆,广电U点支持千兆宽带吗

    广电U点家庭服务器接路由器能跑多少兆,核心看U点自带的LAN口是千兆还是百兆,主流新款U点多为千兆口,接千兆路由器并配超五类以上网线,跑满1000M及以下广电宽带没有压力;若是老款百兆口,理论速度上限就是100M左右,换再贵的路由器也突破不了,广电U点家庭服务器的端口到底长什么样广电U点家庭服务器,其实是广电宽……

    2026年9月17日
    200
  • 服务器一年到底要费多少电?,电费支出怎么节省?

    服务器一年费多少电,没有统一数字;用“实际功率×运行时长×PUE×电价”就能算出,一台常见机架式服务器大多在几千元到上万元,高功耗GPU服务器可到数万元,先算清楚:服务器耗电的四个变量功率不是标称,而是实际负载服务器电源上写的是额定功率,比如500W、800W,但实际耗电看负载,CPU空转、硬盘休眠、网卡低流量……

    2026年9月24日
    200
  • 服务器最多能插多少GB内存?,服务器内存最大支持多少G?

    服务器能插多少G内存,没有统一数值,完全取决于CPU型号、主板插槽数、单条内存容量上限以及操作系统限制四大因素,主流双路服务器普遍支持512GB到4TB不等,先搞清楚影响内存上限的三个硬件条件很多人以为买个大容量内存条插上就能用,实际上服务器认内存有一套完整的“审批流程”,主板插槽只是门槛,CPU内存控制器才是……

    相关资讯 2026年10月21日
    000
  • 网吧服务器一般多少钱一台,开网吧需要投资多少

    简单说,网吧服务器一般接入千兆(1Gbps)起步,主流配置是2到10Gbps的聚合链路,具体看网吧机台数、游戏更新频率和运营策略,这个问题在网吧圈子里几乎每天都被问起,今天就掰开揉碎,把带宽、硬件、路由、无盘方案一次讲透,”多少钎”到底指的是什么”钎”这个字在网络圈里其实是”千”的口语化写法,源头来自网吧技术员……

    2026年10月15日
    100
  • 服务器如何查看被攻击流量多少G,被DDoS攻击怎么办?

    服务器被攻击后,查看攻击流量大小的最直接路径是登录服务商控制台查看“黑洞”或“封堵”通知中的具体数值,或通过监控图表回放流量峰值;如果攻击已结束且服务商未提供报告,则只能估算,无法还原精确到G的数值,这个结论是多数站长在实战中得出的共同经验,下面我拆开来讲,告诉你哪些数据能看、去哪看、怎么看,以及看完之后怎么判……

    2026年9月11日
    300
  • 跨运营商服务器多少钱一年,跨运营商服务器哪家便宜?

    跨运营商服务器价格没有统一标准,核心取决于带宽接入方式、硬件配置与机房级别,基础配置月付通常在300-800元区间,但真正实现三网直连的BGP服务器起售价普遍在600元以上,为什么跨运营商服务器比普通服务器贵跨运营商服务器本质上是解决电信、联通、移动三网用户互访延迟问题的一种解决方案,传统单线服务器,电信用户访……

    2026年9月26日
    100
  • 一个地方能放多少台服务器,怎么查看机房容量?

    一个地方能放多少服务器,本质上取决于机房的总面积、机柜数量、单柜功率密度和散热设计,而非简单的“平米数”换算,在行业里,我们常听到“某某数据中心有2000个机柜”,这比“占地5000平方米”更能反映真实容量,往下拆解,你就会明白服务器数量如何计算,以及不同规模机房的实际差异,服务器数量与机柜的对应关系机柜是机房……

    2026年10月19日
    200
  • 联想万全t168服务器最新报价多少钱,值得买吗

    联想万全T168服务器目前二手市场主流配置价格在800元至2000元之间,具体取决于CPU频率、内存容量和硬盘类型,入门级配置(如Pentium 4或Xeon 3.0GHz、2GB内存)约500元起,而高配版本(Xeon 3.6GHz、8GB内存、SCSI硬盘)可达2500元以上,联想万全T168的市场定位与当……

    2026年8月14日
    1800
  • 一个Java项目需要多少台服务器?,服务器配置怎么选

    一个Java项目需要多少服务器,没有标准答案,完全取决于业务体量、并发规模、数据量以及你对可用性的要求,从单台服务器就能跑通的原型,到需要十几台甚至更多服务器支撑的集群架构,跨度非常大,这篇文章将帮你理清规划思路,并结合实际场景给出可落地的配置参考,先搞清楚:什么在消耗服务器资源别急着数服务器台数,先看你的Ja……

    2026年10月2日
    100
  • linux shell中-e是什么意思?shell脚本-e参数用法详解

    在 Linux Shell(特别是 Bash)中,-e 是一个非常重要的选项,通常与 set 命令一起使用,核心含义set -e 的作用是:如果脚本中的任何命令返回非零退出状态(即失败),则立即终止整个脚本的执行,它让脚本在遇到错误时“快速失败”(Fail Fast),而不是继续执行后续可能产生连锁错误的命令……

    2026年7月10日
    17400

发表回复

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