Linux下FileZilla端口转发设置
一、前置说明与方案选择
- SFTP(SSH):基于SSH,默认端口22,数据通道加密,通常无需额外端口转发即可使用。若需“端口转发”,多指用SSH本地端口转发把本地的某个端口映射到远端服务(如把本地的2121映射到远端的22),然后用 FileZilla 连接本地端口进行 SFTP。
- FTP/FTPS:基于TCP,控制通道21,数据通道在主动模式为20,被动模式为服务器随机高位端口。若客户端或服务器在 NAT/防火墙 后,需要正确配置被动端口范围并进行端口转发,否则会卡在“目录列表”或数据连接阶段。
二、方案一 SSH本地端口转发(推荐,适用于 SFTP 或安全访问)
- 建立隧道(Linux 终端执行):
- FileZilla 站点设置:
- 协议:SFTP - SSH 文件传输协议
- 主机:127.0.0.1
- 端口:2121
- 登录类型:正常,填入用户名/密码或密钥
- 连接即可通过本地隧道安全访问远端。
三、方案二 FTP/FTPS 的被动模式与端口转发(适用于传统 FTP)
- 服务器端(以 vsftpd 为例,需有服务器配置权限):
- 中间网络设备(NAT/防火墙)端口转发:
- 路由器或云安全组放行:
- 控制通道:外部端口21 → 内部服务器21
- 被动数据通道:外部端口段50000–51000 → 内部服务器50000–51000
- FileZilla 客户端设置:
- 协议:FTP - 文件传输协议 或 FTPS - FTP over TLS
- 加密:要求使用显式 FTP over TLS(推荐)或相应 FTPS 选项
- 登录类型:正常
- 传输设置:勾选被动模式
- 若服务器不在标准端口,可在“端口”填入服务器实际端口(如2121)。
四、常见问题与排查
- 连接卡在“目录列表”或数据连接失败(FTP/FTPS):
- 确认服务器已配置被动端口范围并已在防火墙/NAT放行;客户端已勾选被动模式;必要时在站点管理器中设置“被动模式设置”的外部服务器IP(云主机常见)。
- 使用 SSH 隧道仍失败:
- 确认隧道命令在运行且端口未被占用;FileZilla 主机填127.0.0.1、端口填2121;优先使用SSH密钥避免后台隧道无法输入密码。
- 服务器在 NAT 后提示被动模式配置:
- 按提示在路由器做21与被动端口段的转发,并在服务器正确设置被动端口范围。