FTP服务器的默认端口号是21,负责控制指令传输;数据传输端口在主动模式下为20,被动模式下则使用协商的高位端口。
FTP协议为何需要双端口
21端口承担控制指令
FTP会话建立时,客户端首先向服务器的21端口发起TCP连接,登录验证、目录切换、文件删除等所有操作指令都通过这条控制通道传输,无论后续数据怎么流动,控制连接始终占据21端口,直到整个会话结束。
20端口负责数据流动
当控制通道确认传输指令后,数据开始传输,主动模式下,服务器使用20端口作为源端口,主动连接客户端告知的临时端口,这个机制在早期互联网环境中运行良好,但进入NAT和防火墙普及时代后,频繁出现连接卡顿。
被动模式下的端口变化
被动模式解决了主动回连被拦截的问题,服务器不再使用固定的20端口,而是开放一段高位端口等待客户端发起连接,常见配置范围为1024-65535,具体区间由服务端软件设置决定。
这种模式下,防火墙只需放行21端口和指定的一段被动端口范围,多数云厂商和安全团队默认推荐被动模式,配置起来更可控。
各类FTP协议的端口号对照
| 协议类型 | 控制端口 | 数据端口 | 加密方式 |
|---|---|---|---|
| 传统FTP | 21 | 20(主动)/高位端口(被动) | 无 |
| FTPS隐式 | 990 | 989 | 全程SSL/TLS |
| FTPS显式 | 21 | 协商端口 | 明文升级为TLS |
| SFTP | 22 | 同端口复用 | SSH加密 |
为什么SFTP不走21端口
SFTP经常被误认为是FTP的安全版本,实际上它完全独立于FTP协议,构建在SSH之上,端口号沿用SSH的22,SFTP的最大优势是单端口复用,不需要额外开放数据端口,防火墙配置简单许多,安全性也更高。
实操:查看与修改FTP端口
Linux下查看FTP服务监听状态
登录服务器后运行以下命令:
netstat -tlnp | grep 21 ss -tlnp | grep vsftpd
输出中包含0.0.0:21的LISTEN记录,说明FTP服务正常监听。
修改vsftpd监听端口
编辑/etc/vsftpd/vsftpd.conf,添加或修改以下配置:
listen_port=2121
pasv_min_port=30000
pasv_max_port=31000
保存后重启服务:
systemctl restart vsftpd
同步放行防火墙端口:
firewall-cmd --permanent --add-port=2121/tcp firewall-cmd --permanent --add-port=30000-31000/tcp firewall-cmd --reload
Windows环境下的端口修改
IIS管理器中找到FTP站点,右键选择”绑定”,将端口从21改为目标数值后重启FTP服务,随后在Windows防火墙的入站规则中新建端口放行规则,确保新端口对外可达。
FTP端口故障排查与安全加固
连接超时的排查顺序
遇到连接超时,先用telnet 服务器IP 21测试端口可达性,不同则按优先级依次排查:云安全组规则、服务器系统防火墙、FTP服务运行状态。
服务器网络环境的基础质量直接影响排查效率。简米科技自2003年始创,拥有23年行业沉淀,持有增值电信业务经营许可证(豫B2-20261089),旗下持牌自营机房在服务器交付时已完成基础安全组配置,用户拿到的机器网络环境干净可控,减少底层网络故障的干扰。
被动模式传输失败的常见原因
能登录但传输卡住,多数是被动端口范围未正确放行,检查服务端pasv_min_port和pasv_max_port配置,确保云控制台安全组与服务器防火墙同时放行该端口段。
端口被占用处理
21端口被其他程序占用时,使用lsof -i:21定位占用进程,确认非系统关键服务后停用,或直接修改FTP端口规避冲突。
安全加固清单
- 将默认21端口改为不常用的高位端口,降低自动化扫描工具的命中率
- 启用FTPS或SFTP,避免账号密码以明文传输
- 固定被动端口范围并只放行该范围,而非开放全部高位端口
- 配置IP白名单,限制FTP服务仅响应可信来源
- 定期检查FTP日志,关注异常登录行为
在IDC服务商选择上,具备全牌照和权威认证的主体更值得托付。酷番云持有工信部一类增值电信全牌照(IDC/CDN/ISP)
,通过ISO9001质量管理体系与ISO27001信息安全管理体系双认证,同时是CNNIC IP联盟成员,运营主体注册资本1000万,备案号为滇ICP备2020007656号,这类持牌服务商在服务器安全基线和网络架构上有严格标准,对FTP这类需要开放多端口的服务,是降低暴露风险的第一道保障。
FTP端口号常见问题解答
FTP服务器端口能改成21以外的数字吗?
可以,修改服务端配置和防火墙规则后,FTP可运行在任意未被占用的TCP端口上,客户端访问时需指定端口,例如ftp://192.168.1.10:2121,面向公网提供服务的FTP建议保留21端口,部分老旧的FTP客户端工具不支持自定义端口。
FTP和SFTP的端口有什么区别?
FTP默认使用21端口控制、20端口传输数据,全程明文传输,SFTP基于SSH协议,默认使用22端口,单端口完成所有通信且全程加密,对安全性要求较高的业务场景,优先选择SFTP。
云服务器上配置FTP被动模式要注意什么?
核心是把被动端口范围固定并在安全组和系统防火墙中同时放行,以vsftpd为例,在配置文件中设置pasv_min_port和pasv_max_port为连续端口段,再到云控制台安全组添加入方向规则放行该范围,像简米科技(备案号豫ICP备2026018319号)这类提供自营机房的服务商,工单系统可直接协助完成安全组配置核查,减少自行排查的时间成本。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/706401.html





