温馨提示×

Ubuntu上FileZilla如何进行端口转发

小樊
42
2025-12-18 05:39:14
栏目: 智能运维

Ubuntu上FileZilla端口转发实用指南

一、先明确你的转发目标

  • 使用SFTP(SSH)时,FileZilla通过已建立的SSH连接进行数据传输,通常不需要额外端口转发;若要在本机访问远端的其他服务,可用SSH本地端口转发把远端端口映射到本地。
  • 使用FTP时,需区分数据通道的主动模式被动模式:主动模式由服务器主动连客户端,通常要在客户端侧做端口放行;被动模式由客户端连服务器,通常在服务器端开放一段端口范围并在路由器做NAT端口转发
  • 若你只是想“把本机端口映射到远端服务”,优先选择SSH隧道方式,更安全、穿透性更好。

二、方法一 SSH本地端口转发(推荐)

  • 适用场景:把远端服务器的某个端口(如数据库、内网Web)映射到本机,然后用本机工具访问。
  • 图形界面做法(FileZilla Pro):
    1. 打开站点管理器 → 新建站点,协议选SFTP - SSH文件传输协议,填写主机、端口(默认22)、用户名、密码/密钥。
    2. 在站点管理器左侧选择该站点,进入隧道/端口转发(不同版本可能叫“代理/隧道”或“端口转发”)页面。
    3. 新增转发规则:类型选本地(Local),填写本地端口(如8080)、远程主机(多为127.0.0.1或远端内网地址)、远程端口(如803306)。
    4. 保存并连接;连接成功后,访问http://127.0.0.1:8080即相当于访问远端目标端口。
  • 命令行做法(通用且稳定):
    • 将本地8080转发到远端127.0.0.1:80
      ssh -L 8080:127.0.0.1:80 user@remote_host
    • 将本地3306转发到远端数据库192.168.10.20:3306
      ssh -L 3306:192.168.10.20:3306 user@remote_host
      说明:保持该SSH会话不断开即可使用映射端口;如需后台运行可加**-fN**参数。上述命令同样适用于Linux、macOS与Windows的OpenSSH客户端。

三、方法二 FTP的主动与被动模式及NAT转发

  • 主动模式要点:客户端在控制通道上告诉服务器“我用本机的某个端口发数据”,服务器从自身20/TCP端口主动连回客户端。若客户端在NAT/防火墙后,需要在本机放行相应端口,且服务器要能回连到客户端公网IP,部署较复杂。
  • 被动模式要点:服务器在控制通道上告诉客户端“请连我的一段端口范围来传数据”。需要在服务器端:
    1. 配置FTP服务(如vsftpd)开启被动模式并指定端口范围,例如:
      pasv_enable=YES
      pasv_min_port=21210
      pasv_max_port=21220
    2. 在服务器防火墙放行该范围(示例):
      sudo ufw allow 21210:21220/tcp
    3. 在路由器做NAT端口转发:把外部端口21210–21220转发到FTP服务器的内网IP相同端口。
    4. FileZilla站点设置:协议选FTP,加密选要求使用显式FTP over TLS(FTPES),传输设置选择被动模式
  • 说明:FTP明文传输不安全,生产环境建议使用SFTPFTPS;若必须使用FTP且跨公网/NAT,优先选择被动模式并正确配置端口范围与NAT转发。

四、常见问题与排查

  • 连接被防火墙/云安全组拦截:确认服务器22/TCP(SSH/SFTP)或21/TCP(FTP控制通道)及被动端口范围已放行;云厂商安全组与系统防火墙(如ufw)需同时放通。
  • 路由器NAT未生效:核对外部端口、内部IP与内部端口一致,且路由器规则已启用;被动模式端口范围两端一致。
  • 认证与加密:FTP建议使用FTPES;SFTP建议使用密钥登录替代密码,提升安全性与稳定性。
  • 客户端在NAT后:优先使用SFTPFTP被动模式;主动模式常因回连失败而不通。
  • 隧道可用性:使用SSH隧道时,确保SSH会话保持;若中断,映射端口将不可用。

0