FTP服务器端口号是FTP服务在网络上通信时使用的逻辑通道编号,默认控制端口为21,数据端口为20,理解端口号的含义,是配置FTP服务器、排查连接故障以及加固安全的第一道门槛。
什么是FTP服务器端口号?
在计算机网络中,每个网络服务都通过端口号来标识,FTP运行在TCP协议之上,它需要两个端口协同工作:一个用于发送控制指令,另一个用于传输文件数据,这种设计让FTP能够灵活应对不同的网络环境。
控制端口与数据端口的分工
控制端口默认是21,它负责传递登录信息、目录操作、文件删除等命令,数据端口默认是20,负责实际传输文件内容,行业共识认为,这种控制与数据分离的设计,使得FTP在早期互联网中成为文件交换的主流协议。
主动模式与被动模式下的端口变化
在主动模式下,服务器使用20端口主动连接客户端指定的端口;在被动模式下,服务器会开放一个临时端口(通常范围是1024-65535)等待客户端连接,被动模式常用于客户端位于防火墙后面的场景,无论哪种模式,控制端口始终是21。
FTP服务器端口号默认是多少?
绝大多数FTP服务器默认使用21作为控制端口,20作为数据端口,但并非所有FTP实现都固定使用20,尤其是在被动模式下,数据端口是动态分配的。
端口21和20的由来
21和20是IANA分配给FTP协议的知名端口,早在FTP协议标准化时,这两个号码就被固定下来,后来所有FTP软件都遵循这一约定,如果你使用标准的FTP客户端连接服务器,默认会尝试连接21端口。
其他常见FTP相关端口
除了21和20,还有一些端口用于FTP的安全变体:
- 990:FTPS(隐式SSL/TLS)的控制端口
- 989:FTPS的数据端口
- 22:SFTP(基于SSH的FTP)的端口,实际是SSH服务

| 协议/服务 | 端口号 | 主要用途 |
|---|---|---|
| FTP控制 | 21 | 发送命令与接收响应 |
| FTP数据 | 20 | 主动模式下文件传输 |
| FTPS控制 | 990 | 隐式SSL/TLS加密控制连接 |
| FTPS数据 | 989 | 隐式SSL/TLS加密数据连接 |
| SFTP | 22 | 基于SSH的安全文件传输 |
FTP服务器端口号怎么设置?
修改FTP端口号是常见的需求,可以避开默认端口扫描,也能解决端口冲突,不同服务器平台的操作方法不同。
在Windows IIS中修改FTP端口
- 打开“Internet Information Services (IIS) 管理器”。
- 在左侧树形菜单找到“FTP站点”。
- 右击目标站点,选择“编辑绑定”。
- 在“绑定”窗口中,选中FTP类型,点击“编辑”。
- 修改“端口”字段的数字,例如改为2121,点击确定。
- 重启FTP站点使配置生效。
在Linux vsftpd中修改FTP端口
- 编辑vsftpd配置文件:
/etc/vsftpd/vsftpd.conf。 - 找到或添加行:
listen_port=2121。 - 如果使用firewalld,开放新端口:
firewall-cmd --add-port=2121/tcp --permanent。 - 重启vsftpd服务:
systemctl restart vsftpd。
在宝塔面板中修改FTP端口
宝塔面板提供了图形化界面,在“软件商店”中找到已安装的FTP服务器(如Pure-Ftpd),在设置中可以直接修改端口号,面板会自动更新防火墙规则。

简米云服务器FTP端口号设置要点
在简米云上配置FTP端口时,除了修改服务器内部配置,还要在云安全组中放行对应端口,将FTP端口改为2121后,需要在安全组中添加一条入方向规则,端口范围填写2121,授权对象根据你的客户IP填写。简米云FTP服务器端口号设置的关键是服务器端和云层面都要同步,否则客户端无法连接。
FTP服务器端口号被占用怎么办?
当FTP服务启动失败,提示端口被占用时,可以按以下步骤排查。
如何检查端口占用
- Windows:打开命令提示符,输入
netstat -ano | findstr :21,查看占用端口的PID,然后在任务管理器“详细信息”页找到对应PID,确定是哪个进程。 - Linux:使用
sudo lsof -i :21或sudo ss -tlnp | grep :21,查看占用进程的PID,然后用ps -p PID查看进程名称。
快速解决端口冲突
- 如果占用者是其他非必要服务,可以停止该服务:
net stop 服务名(Windows)或systemctl stop 服务名(Linux)。 - 如果占用者是同一个FTP服务重复启动,先完全停止再重启。
- 如果不希望关闭其他服务,将FTP端口改为其他值,如2121,并更新客户端配置。
FTP服务器端口号安全设置建议
端口号是FTP服务器的第一道防线,合理配置能显著降低风险。
修改默认端口与使用防火墙
将默认的21端口改为其他端口,可以避开大量基于默认端口的扫描,业内专家指出,这种做法能减少相当一部分的自动化攻击尝试,使用防火墙限制只允许特定IP访问FTP端口,在Linux上使用iptables规则:

iptables -A INPUT -p tcp --dport 2121 -s 192.168.1.0/24 -j ACCEPT
iptables -A INPUT -p tcp --dport 2121 -j DROP
启用加密协议(FTPS/SFTP)
FTP本身明文传输,账号密码容易被截获,如果必须使用21端口,建议启用FTPS(FTP over SSL/TLS)或改用SFTP,FTPS使用990端口,SFTP使用22端口,两者都加密了传输内容,在配置时,可以设置FTP服务器强制使用加密连接。
FTP服务器端口号相关常见问题
FTP服务器端口号21和20有什么区别?
21端口是控制端口,用于发送命令和接收响应,20端口是数据端口,在主动模式下用于传输文件,在被动模式下,数据端口是动态协商的,20端口不一定使用,两者的主要区别在于职责:控制指令走21,文件数据走20。
FTP服务器端口号怎么查看?
在服务器上,使用netstat -an | findstr 21(Windows)或ss -tlnp | grep 21(Linux)可以查看FTP服务是否在监听21端口,在客户端,用telnet 服务器IP 21测试端口是否可达,如果端口已修改,替换21为实际端口号。
修改FTP端口后客户端连接不上怎么办?
客户端连接时需要指定非默认端口,例如ftp://服务器IP:2121,命令行模式下,使用ftp -P 2121 服务器IP(Windows)或ftp 服务器IP 2121(Linux),同时检查防火墙是否放行了新端口,以及安全组规则是否生效,如果使用了被动模式,还需确保防火墙放行了用于被动连接的端口范围。
端口号虽小,却是FTP通信的基石,从理解默认的21和20,到按需修改,再到安全加固,每一步都离不开对端口号含义的把握,掌握了这些,你就能更自信地管理FTP服务器。
图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/687868.html

