Linux FTP PASV模式怎么配置,FTP被动模式端口如何开放?

FTP 被动模式 (PASV) 详解

在 Linux 环境下配置 FTP 服务时,被动模式 (Passive Mode) 是解决防火墙和 NAT(网络地址转换)导致连接失败的关键技术。

什么是 FTP 被动模式?

FTP 协议在传输数据时会建立两个独立的通道:

[java漫谈系列153]ftp主动模式和被动(PASV)模式
加载中
[java漫谈系列153]ftp主动模式和被动(PASV)模式
  • 命令通道 (Command Channel):用于发送指令(如 ls, get, put),默认使用 21 端口。
  • 数据通道 (Data Channel):用于实际传输文件内容或目录列表。

在 被动模式 (PASV) 下,数据通道的建立是由客户端主动发起的,客户端通过命令通道询问服务器:“请告诉我你应该在哪个端口接收数据?”服务器返回一个高位端口号,然后客户端连接该端口。

主动模式 (Active) vs 被动模式 (Passive)

特性 主动模式 (Active/PORT) 被动模式 (Passive/PASV)
数据连接发起方 服务器连接客户端

Linux FTP PASV模式怎么配置,FTP被动模式端口如何开放?

客户端连接服务器

客户端要求客户端必须开放端口并允许外部连接客户端只需能访问互联网
防火墙友好度对客户端防火墙极不友好对客户端非常友好
服务器要求服务器只需开放 21 端口服务器需开放 21 端口及一段随机端口范围

核心结论:在现代互联网环境下,由于大多数用户处于路由器(NAT)或防火墙之后,被动模式是目前最常用的连接方式。


Linux (vsftpd) 配置被动模式步骤

以最常用的 vsftpd 为例,配置被动模式需要明确指定端口范围和服务器的公网 IP。

修改配置文件

编辑 /etc/vsftpd.conf 文件:

sudo vi /etc/vsftpd.conf

添加或修改以下参数

在文件中添加以下配置项:

Linux FTP PASV模式怎么配置,FTP被动模式端口如何开放?

  • 启用被动模式:
    pasv_enable=YES
  • 设置被动模式端口范围(非常重要,用于防火墙放行):
    pasv_min_port=30000
    pasv_max_port=31000
  • 设置服务器的公网 IP(如果服务器在云端或 NAT 后):
    pasv_address=你的服务器公网IP
  • 强制使用被动模式(可选):
    pasv_addr_resolve=YES

重启服务

保存退出后,重启 vsftpd 使配置生效:

sudo systemctl restart vsftpd

防火墙配置

配置了被动模式端口范围后,必须在服务器的防火墙中放行这些端口,否则客户端会卡在“正在获取目录列表”或“连接超时”阶段。

使用 firewalld (CentOS/RHEL)

# 放行 FTP 命令端口
sudo firewall-cmd --permanent --add-service=ftp
# 放行被动模式定义的端口范围
sudo firewall-cmd --permanent --add-port=30000-31000/tcp
# 重新加载防火墙
sudo firewall-cmd --reload

使用 ufw (Ubuntu/Debian)

# 放行 FTP 命令端口
sudo ufw allow 21/tcp
# 放行被动模式定义的端口范围
sudo ufw allow 30000:31000/tcp
# 重新加载防火墙
sudo ufw reload

Linux FTP PASV模式怎么配置,FTP被动模式端口如何开放?


常见问题排查

  • 现象:能登录,但执行 ls 或 dir 时卡住/报错

    • 原因:命令通道连接成功,但数据通道被防火墙拦截。
    • 检查点:
      • 是否在 vsftpd.conf 中设置了 pasv_min_port 和 pasv_max_port?
      • 服务器防火墙(iptables/firewalld/ufw)是否放行了该范围?
      • 云服务器厂商(如简米云、AWS)的安全组是否放行了该范围?
  • 现象:报错 “Failed to retrieve directory listing”

    • 原因:服务器返回给客户端的 IP 地址是内网 IP,导致客户端无法连接。
    • 检查点:
      • 必须在 vsftpd.conf 中配置 pasv_address=你的公网IP。
  • 现象:连接超时

    • 检查点:
      • 确认 21 端口是否正常工作。
      • 确认网络路径上是否存在拦截高位端口的中间设备。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://test.idctop.com/article/493474.html

赞 (0)
搬瓦工限量版VPS补货了吗,搬瓦工CN2 GIA哪款最值得买?
上一篇 2026年7月14日 07:24
Linux各种Shell有什么区别,Bash和Zsh哪个更好用?
下一篇 2026年7月14日 07:27

相关推荐

  • Linux如何查看存储信息?linux查看磁盘空间大小命令

    在 Linux 系统中,“存储信息”通常涉及两个主要方面:磁盘/分区使用情况(硬盘还剩多少空间?哪些分区占用了空间?)文件系统与挂载信息(哪些设备挂载到了哪里?文件系统类型是什么?)以下是常用的命令和解释,帮助你查看和管理 Linux 存储信息:查看磁盘空间使用情况df (Disk Free)显示文件系统的磁盘……

    2026年7月10日
    6700
  • apk修改服务器地址怎么操作?如何安全安装apk文件

    修改APK服务器地址通常通过反编译工具重新编译实现,但直接安装修改后的APK存在极高的安全风险,建议优先使用官方渠道或受信任的第三方平台进行应用管理,在移动互联网生态中,用户偶尔会遇到应用无法连接、需要测试特定环境或进行本地化部署的情况,这时,“修改服务器地址”和“安装APK”便成为了两个紧密关联的技术动作,对……

    2026年6月17日
    2400
  • MySQL本地服务器账号密码是多少?,怎么找回

    MySQL本地服务器账号密码本身没有固定价格,它由你自行设置或通过数据库管理员定义,如果遗忘默认密码,可通过特定命令重置;若需专业数据库运维或云服务,则需根据服务商定价付费,MySQL本地服务器账号密码的基础认知账号密码的本质与管理归属MySQL本地服务器运行在你自己的机器或内网服务器上,账号密码完全由你掌控……

    2026年8月21日
    500
  • 火影忍者q区一个服务器多少人?,火影忍者q区服务器上限多少

    火影忍者Q区单个服务器的同时在线人数并无固定上限,但根据服务器硬件配置和网络负载,通常稳定承载规模在8000至10000人左右,具体受战区划分、跨服机制和实时匹配流量影响,火影忍者Q区服务器容量解析硬件配置决定基础容量游戏服务器通常采用企业级硬件,以常见配置为例,双路至强处理器、256GB内存、NVMe SSD……

    2026年8月3日
    800
  • 3d服务器一般多少钱一台,哪个品牌性价比高?

    3D服务器的价格并没有一个固定的标准,入门级配置月租大约在几百元,而用于专业渲染的高性能服务器月租可能达到数千甚至上万元,具体取决于CPU/GPU核心数、内存容量、存储类型以及带宽大小, 价格差异主要来自硬件规格和服务等级,你在选择时需要先明确自己的渲染需求和工作流,避免盲目追求高配置导致浪费,影响3D服务器价……

    2026年8月17日
    400
  • Android三级缓存原理是什么?Android三级缓存详细解析

    Android三级缓存的核心逻辑是优先读取内存缓存(L1),未命中则读取磁盘缓存(L2),最后回源网络请求(L3)并回填前两级,以此实现极速加载与流量节省的完美平衡,在移动互联网的高并发场景下,应用启动速度和页面流畅度直接决定了用户的留存率,对于Android开发者而言,单纯依赖网络请求不仅消耗用户流量,更会导……

    2026年6月13日
    8400
  • ProfitServer西班牙VPS终身5折值得买吗?马德里机房月付$2.88起配置如何

    ProfitServer新上线的西班牙马德里机房凭借终身5折、100Mbps不限流量及月付$2.88起的极致性价比,成为2026年搭建海外加速节点与低延迟业务的首选方案,在2026年的网络基础设施格局中,单纯追求低价已不再是唯一准则,稳定性与合规性成为核心考量,ProfitServer此次推出的西班牙节点,恰好……

    2026年6月28日
    1600
  • 国外主机国内cdn加速好吗,国外主机国内cdn怎么配置

    将国外主机与国内CDN进行结合配置,是目前解决跨境网站访问速度慢、稳定性差的最优解,这种架构通过将静态内容缓存至中国大陆境内的边缘节点,能够让国内用户无需跨越复杂的国际网络链路即可获取数据,从而将访问延迟降低80%以上,显著提升用户体验和SEO排名,对于面向国内用户群体的网站管理者而言,这是一种低成本、高效率的……

    2026年2月25日
    16100
  • 我的世界3d3t服务器号究竟是多少,怎么进入?

    我的世界3d3t服务器号是 play.3d3t.net,默认端口25565,使用Java版1.20.1版本即可进入, 这个地址经过社区验证,是当前稳定的连接入口,3d3t服务器号是什么,为什么需要准确记住许多玩家在寻找特定服务器时,只记住名字而忽略服务器号,服务器号实际就是IP地址和端口组合,它决定了你的客户端……

    2026年7月30日
    400
  • 阿里服务器30G防御多少钱包月

    阿里服务器30G防御包月价格根据配置和带宽不同,通常在几百元到一千五百元之间,但具体成本取决于攻击类型、清洗能力和服务商资质,选择持牌自营机房的服务商往往能获得更高性价比,阿里云官方30G防御定价结构阿里云提供DDoS高防IP产品,30G保底防护的包月价格在官方列表中属于入门级,根据阿里云官网的计费说明,30G……

    2026年8月21日
    200

发表回复

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