Debian FileZilla如何防火墙设置
导读:Debian 上 FileZilla 的防火墙设置 先确认你的使用场景 使用 FileZilla Server(服务端,运行在 Debian 上):需要在服务器防火墙放行 FTP 控制端口 与 被动模式端口范围,客户端才能连上。 使用 F...
Debian 上 FileZilla 的防火墙设置
先确认你的使用场景
- 使用 FileZilla Server(服务端,运行在 Debian 上):需要在服务器防火墙放行 FTP 控制端口 与 被动模式端口范围,客户端才能连上。
- 使用 FileZilla Client(客户端,连接远程 FTP/SFTP):只需在客户端所在机器的防火墙放行出站连接到目标端口(如 21、被动端口范围或 22)。
方案一 使用 UFW 放行端口(推荐)
- 安装并启用 UFW
- 安装:sudo apt update & & sudo apt install ufw
- 默认策略:sudo ufw default deny incoming;sudo ufw default allow outgoing
- 启用:sudo ufw enable
- 放行 FTP(主动/被动均需放行控制端口)
- 控制连接:sudo ufw allow 21/tcp
- 放行被动模式端口范围(示例)
- 建议自定义一段端口,例如 40000–40009/tcp:sudo ufw allow 40000:40009/tcp
- 若你已在 FileZilla Server 设置了其他范围(如 50000–50050/tcp 或 30000–31000/tcp),请放行对应范围
- 可选:仅允许指定来源 IP
- 例如仅内网:sudo ufw allow from 192.168.1.0/24 to any port 21,40000:40009 proto tcp
- 使配置生效并检查
- 重载:sudo ufw reload
- 状态:sudo ufw status verbose 说明:UFW 适合快速、安全地开启常用端口与来源限制。
方案二 使用 iptables 放行端口(更灵活)
- 放行控制端口
- sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT
- 放行被动模式端口范围(示例)
- 例如 40000–40009/tcp:sudo iptables -A INPUT -p tcp --dport 40000:40009 -j ACCEPT
- 持久化规则
- 保存:sudo sh -c “iptables-save > /etc/iptables/rules.v4”
- 开机恢复:sudo iptables-restore < /etc/iptables/rules.v4
- 建议创建 systemd 服务在启动时自动恢复(见下文“开机自启与持久化”)
- 检查
- sudo iptables -L -n -v 说明:iptables 规则默认不持久,需手动保存与恢复。
在 FileZilla Server 内配置被动端口范围与 TLS
- 打开管理界面(默认管理端口通常为 14148,可在 /opt/filezilla-server/etc/settings.xml 的 LocalPort 查看/修改)
- 进入 Passive Mode Settings,设置自定义被动端口范围(如 40000–40009),并确保云厂商/机房安全组也放行该范围
- 在 Security 中启用 Use SSL/TLS for passive connections,生成或导入证书,启用 FTP over TLS(FTPS) 提升传输安全
- 若修改了管理端口,记得在防火墙放行对应端口,并重启服务:sudo systemctl restart filezilla-server.service 说明:被动端口范围必须在服务器与防火墙两侧一致,否则列表/传输会失败。
验证与常见问题
- 连通性测试
- 测试控制端口:nc -vz 服务器IP 21 或 telnet 服务器IP 21
- 测试被动端口:nc -vz 服务器IP 40000(示例)
- 常见原因与处理
- 只放行 21/tcp 但未放行被动端口范围,会导致“无法建立数据连接/目录列表为空”
- 云服务器需同时在 安全组/防火墙 放行控制端口与被动端口范围
- 客户端使用 SFTP 时,请连接 22/tcp(SSH 文件传输),与 FTP/FTPS 的端口配置不同
- 如需限制来源,仅放行可信 IP/CIDR 到 21 与被动端口范围,减少暴露面 说明:排查时先确认是控制连接还是数据连接失败,再核对对应端口与策略。
开机自启与持久化
- UFW:规则默认写入配置,启用后随系统启动生效(sudo ufw enable)
- iptables:创建 systemd 服务自动恢复
- 新建:sudo nano /etc/systemd/system/iptables-restore.service
- 内容:
- [Unit]
- Description=Restore IPTables rules
- Before=network.target
- [Service]
- Type=oneshot
- ExecStart=/sbin/iptables-restore < /etc/iptables/rules.v4
- [Install]
- WantedBy=multi-user.target
- [Unit]
- 启用:sudo systemctl enable --now iptables-restore.service 说明:确保重启后规则依旧生效,避免服务中断。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian FileZilla如何防火墙设置
本文地址: https://pptw.com/jishu/764828.html
