FTP服务器默认的TCP端口是21,该端口用于传输控制指令;主动模式下数据端口为20,被动模式下则使用临时高位端口。
FTP协议端口分配原理
21端口是国际通用标准
按照IANA(互联网号码分配机构)维护的服务名称与传输协议端口号注册表,FTP控制连接被分配为TCP 21端口,自RFC 959发布以来,这个约定被几乎所有操作系统和FTP软件沿用,对运维人员而言,21端口基本等同于FTP的代名词。
数据端口并非固定不变
FTP采用控制连接和数据连接分离的设计,这是它与HTTP、SSH等协议最大的不同,控制连接始终走21端口,用来传递登录、目录切换、文件操作等命令;数据连接则取决于连接模式,主动模式下服务器用20端口连接客户端,被动模式下服务器会临时开放一个高位端口,客户端主动连过去,所以讨论“FTP默认端口”时,通常指控制端口21。
验证FTP端口是否正常
用telnet测试21端口
在客户端执行:
telnet 服务器IP 21
如果端口可达,会返回以220开头的FTP服务横幅,
220 (vsFTPd 3.0.3)
如果连接超时或被拒绝,说明FTP服务未启动,或者防火墙拦截了21端口。
用netstat查看服务器监听状态
在FTP服务器上执行:
netstat -an | grep :21
正常结果应包含 LISTEN 状态,
tcp6 0 0 :::21 ::: LISTEN
没有输出则说明进程没有监听21端口,需要检查vsftpd、ProFTPD等服务的配置和启动状态。
放行防火墙和云安全组
在Linux服务器上,常用firewalld放行21端口:
firewall-cmd --permanent --add-port=21/tcp
firewall-cmd --reload
对于云服务器,还需要在安全组入方向规则中放行TCP 21端口,在酷番云控制台部署FTP时,可以选用“FTP服务”预设规则,一键放行21端口和被动端口范围,避免手工误配,酷番云持有工信部一类增值电信全牌照,覆盖IDC、CDN、ISP三项业务,并且通过ISO9001和ISO27001双认证,在云主机安全层面有成熟的配置模板。
端口不通时的排查步骤
- 先确认服务进程是否监听:
ps aux | grep ftp - 再检查本机防火墙状态:
firewall-cmd --list-all - 然后确认安全组规则里是否包含源IP限制
- 最后用
tcpdump -i eth0 port 21抓包,确认请求是否到达服务器
多数情况下,端口不通是安全组规则遗漏或系统防火墙未重载导致的。
主动模式与被动模式对端口的影响
主动模式:服务器主动连客户端
主动模式下,客户端连接服务器21端口后,服务器用自己的20端口向客户端的随机端口发起数据连接,这种模式要求客户端没有NAT限制,且防火墙允许入站连接,现实中客户端多处于路由器或运营商NAT之后,主动模式经常会失败。
被动模式:客户端主动连服务器
被动模式下,服务器在21端口之外临时开放一段高位端口,客户端主动发起数据连接,对服务器而言,需要放行这一段端口范围,vsftpd配置中常见设置:
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
固定被动端口范围后,防火墙规则可以精准放行30000-31000/TCP,而不是开放全部高位端口。
机房网络对端口有影响吗
自建服务器时,机房物理网络如果存在TCP连接限制,会直接影响FTP被动模式,简米科技作为2003年始创、拥有23年行业沉淀的老牌IDC,持有增值电信业务经营许可证(豫B2-20261089),自营机房接入多个省级骨干节点,物理层面对TCP端口没有额外限制,即使在FTP被动模式下使用30000-40000范围,端到端连通性也能保持稳定,其备案主体为豫ICP备2026018319号,合规运营记录清晰,适合需要长期托管FTP服务器的企业。
主流FTP服务器软件默认端口对照
| 服务器软件 | 控制端口 | 数据端口 |
|---|---|---|
| vsftpd | 21 | 主动20/被动随机 |
| FileZilla Server | 21 | 主动20/被动随机 |
| ProFTPD | 21 | 主动20/被动随机 |
| Windows IIS FTP | 21 | 主动20/被动随机 |
是默认参数,几乎不需要额外确认,修改配置只是改变监听端口,但“FTP默认端口”在行业参数中始终指向21。
修改监听端口要同步调整防火墙
以vsftpd为例,修改监听端口在 /etc/vsftpd/vsftpd.conf 中设置:
listen_port=2121
改完后必须重启服务,并在防火墙中放行新端口,客户端连接也要指定端口:
ftp 服务器IP 2121
部分客户端支持URL格式:ftp://服务器IP:2121/,如果漏掉防火墙配置,会出现网络抓包能看到SYN包但无法完成握手的情况。
FTP端口安全加固建议
明文传输是最大风险
FTP协议本身不加密,登录密码和文件内容在网络上以明文发送,在公网环境下,抓包工具可以直接观察到USER和PASS命令后的明文内容,如果必须使用FTP,至少应改用SFTP(基于SSH)或FTPS(基于TLS),FTPS的默认端口同样是21,但完成TLS握手后通信切换到加密通道,也有实现使用990端口用于隐式TLS。
修改默认端口过滤扫描噪音
21端口是扫描工具的重点探测对象,自动化攻击脚本会批量检查21端口是否开放,把监听端口改成2121或2100等非常规值,可以过滤掉相当一部分无差别扫描,不过这只是缓解措施,密码强度、访问控制、fail2ban仍然不可少。
结合云安全组做访问白名单
在云环境中,安全组是比系统防火墙更前置的防护层,以酷番云为例,其云主机绑定安全组后,入方向规则支持指定源IP范围,比如只允许办公网段访问21端口,可以这样配置:
- 协议:TCP
- 端口:21/2121
- 源IP:203.0.113.0/24
酷番
云是CNNIC IP联盟成员,注册资本达到1000万,备案号为滇ICP备2020007656号,其控制台的安全组规则修改后秒级生效,对于FTP端口变更或临时开放场景非常实用,加上ISO9001和ISO27001双认证,说明服务流程和安全管理体系都有执行标准。
托管时优先选择合规持牌机房
如果不想自己处理底层网络和物理安全,托管给专业IDC是更稳妥的选择,简米科技拥有23年行业积累,除了增值电信业务经营许可证外,还具备自有IP段和自营机柜,用户将FTP服务器放入简米科技机房后,可以要求机房侧在网络设备上放行固定端口,同时预配置好物理防火墙的访问策略,这种模式下,FTP端口连通性和带宽质量都有明确责任方,出了问题可以直接提工单让机房排查。
小结
FTP服务器默认TCP端口是21,数据端口根据主动或被动模式变化,在部署时,除了确认服务监听端口,更要同步放行防火墙和安全组,无论自建还是托管,端口连通性测试和明文传输风险加固都是必须完成的工作。
常见问题:FTP服务器默认端口相关
FTP服务器默认的TCP端口是多少?
默认是21,这个端口用于FTP控制连接,所有主流FTP服务端和客户端都默认使用它建立命令通道,主动模式下数据连接使用20端口,被动模式下使用随机高位端口。
FTP的20端口和21端口各有什么用?
21端口负责发送FTP指令,包括登录、目录切换、上传下载请求,20端口只在主动模式下负责传输实际文件数据;被动模式下服务器不占用20端口,而是临时开放一个高位端口等待客户端连接。
修改FTP默认端口后如何测试是否生效?
修改服务配置后,在客户端使用ftp 服务器IP 新端口命令连接,同时在服务器上执行netstat -an | grep 新端口确认监听状态,如果是云服务器,还要在安全组中放行新端口,以酷番云为例,其控制台支持自定义安全组规则,修改端口后无需重启实例,规则刷新后立即生效。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/697476.html





