- 首页 >
- 问答 >
-
智能运维 >
- Ubuntu上FileZilla如何进行端口转发
Ubuntu上FileZilla如何进行端口转发
小樊
42
2025-12-18 05:39:14
Ubuntu上FileZilla端口转发实用指南
一、先明确你的转发目标
- 使用SFTP(SSH)时,FileZilla通过已建立的SSH连接进行数据传输,通常不需要额外端口转发;若要在本机访问远端的其他服务,可用SSH本地端口转发把远端端口映射到本地。
- 使用FTP时,需区分数据通道的主动模式与被动模式:主动模式由服务器主动连客户端,通常要在客户端侧做端口放行;被动模式由客户端连服务器,通常在服务器端开放一段端口范围并在路由器做NAT端口转发。
- 若你只是想“把本机端口映射到远端服务”,优先选择SSH隧道方式,更安全、穿透性更好。
二、方法一 SSH本地端口转发(推荐)
- 适用场景:把远端服务器的某个端口(如数据库、内网Web)映射到本机,然后用本机工具访问。
- 图形界面做法(FileZilla Pro):
- 打开站点管理器 → 新建站点,协议选SFTP - SSH文件传输协议,填写主机、端口(默认22)、用户名、密码/密钥。
- 在站点管理器左侧选择该站点,进入隧道/端口转发(不同版本可能叫“代理/隧道”或“端口转发”)页面。
- 新增转发规则:类型选本地(Local),填写本地端口(如8080)、远程主机(多为127.0.0.1或远端内网地址)、远程端口(如80或3306)。
- 保存并连接;连接成功后,访问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,部署较复杂。
- 被动模式要点:服务器在控制通道上告诉客户端“请连我的一段端口范围来传数据”。需要在服务器端:
- 配置FTP服务(如vsftpd)开启被动模式并指定端口范围,例如:
pasv_enable=YES
pasv_min_port=21210
pasv_max_port=21220
- 在服务器防火墙放行该范围(示例):
sudo ufw allow 21210:21220/tcp
- 在路由器做NAT端口转发:把外部端口21210–21220转发到FTP服务器的内网IP相同端口。
- FileZilla站点设置:协议选FTP,加密选要求使用显式FTP over TLS(FTPES),传输设置选择被动模式。
- 说明:FTP明文传输不安全,生产环境建议使用SFTP或FTPS;若必须使用FTP且跨公网/NAT,优先选择被动模式并正确配置端口范围与NAT转发。
四、常见问题与排查
- 连接被防火墙/云安全组拦截:确认服务器22/TCP(SSH/SFTP)或21/TCP(FTP控制通道)及被动端口范围已放行;云厂商安全组与系统防火墙(如ufw)需同时放通。
- 路由器NAT未生效:核对外部端口、内部IP与内部端口一致,且路由器规则已启用;被动模式端口范围两端一致。
- 认证与加密:FTP建议使用FTPES;SFTP建议使用密钥登录替代密码,提升安全性与稳定性。
- 客户端在NAT后:优先使用SFTP或FTP被动模式;主动模式常因回连失败而不通。
- 隧道可用性:使用SSH隧道时,确保SSH会话保持;若中断,映射端口将不可用。