Debian下FileZilla端口设置
一 概念与默认端口
- FileZilla包含两部分:客户端(用于连接别的服务器)与服务器(FileZilla Server,供他人连接)。两者涉及的端口不同。
- 常用协议与端口对照:
- FTP:控制通道默认端口 21;主动模式数据通道默认端口 20;被动模式需配置一段数据端口范围。
- SFTP(基于SSH):默认端口 22。
- FTPS(FTP over SSL/TLS):控制通道使用你设置的端口(常见为21或自定义),被动模式需配置一段数据端口范围并启用SSL/TLS。
二 修改 FileZilla Server 监听端口
- 通过管理界面修改(推荐)
- 启动管理界面(首次可运行 sudo filezilla-server);2) 菜单 Edit → Settings → General,修改 Listen on Port(如改为 14147);3) 若启用被动模式,在 Passive Mode Settings 设置被动端口范围(如 14140–14146);4) 保存并重启服务。
- 通过配置文件修改
- 停止服务:sudo systemctl stop filezilla-server;2) 编辑配置文件(路径可能为 /opt/filezilla-server/etc/settings.xml 或 /etc/filezilla-server/settings.xml),将 local_port 改为所需端口(如 14148);3) 启动服务:sudo systemctl start filezilla-server;4) 验证监听:ss -ltnp | grep filezilla-server 或 netstat -tulpen | grep filezilla。
三 防火墙与云安全组放行
- UFW示例(Debian常用)
- 放行自定义命令端口(示例为 14147):sudo ufw allow 14147/tcp
- 放行被动端口范围(示例为 14140–14146):sudo ufw allow 14140:14146/tcp
- 放行FTP数据端口(若使用主动模式):sudo ufw allow 20/tcp
- 查看状态:sudo ufw status
- 云服务器安全组
- 在控制台放行与上面一致的端口范围(TCP),否则外网仍会被拦截。
四 客户端连接端口填写
- 站点管理器(Ctrl+S)→ 新建站点:
- 协议选择 SFTP 时,端口填 22;选择 FTP 时,端口填服务器监听端口(如 21 或自定义的 14147);选择 FTPS 时,端口填命令端口,并在“传输设置”选择 显式 TLS/SSL。
- 若服务器使用被动模式,请确保服务器已配置被动端口范围且防火墙/安全组已放行该范围。
五 常见问题与排查
- 连接被拒绝或超时
- 核对服务器监听端口与客户端填写端口一致;检查服务是否运行(systemctl status filezilla-server);用 ss/ netstat 确认端口处于 LISTEN;核对防火墙/安全组是否放行命令端口与被动端口范围。
- 能登录但列目录/传输失败
- 多为被动模式端口未放行或范围不匹配;在服务器被动设置中指定固定范围(如 14140–14146),并在防火墙放行该范围。
- 关于主动模式端口的误解
- 主动模式的数据端口并非固定为“命令端口减一”,而是由客户端告知服务器一个临时端口,服务器用 20/tcp 去连接该端口;因此更推荐在复杂网络环境使用被动模式并显式放行端口范围。