Debian上设置FileZilla的防火墙规则
先确认你的角色
- FileZilla是客户端,通常只需在客户端所在机器放行出站连接(默认多为允许)。
- 若你在Debian上部署了FileZilla Server供他人连接,则需在服务器放行FTP控制与被动模式端口。
- 若你改用SFTP(基于SSH),只需放行SSH端口22,无需FTP被动端口。上述判断将决定你需要开放的端口与规则。
使用UFW快速放行
- 安装并启用UFW(若尚未安装):
sudo apt update && sudo apt install ufw
sudo ufw enable
sudo ufw default deny incoming
sudo ufw default allow outgoing
- 场景一:仅使用FileZilla客户端(默认策略已放行出站,通常无需额外配置)。
- 场景二:部署FileZilla Server(FTP)
- 放行控制连接与被动端口范围(示例范围50000–50050,请与服务器设置一致):
sudo ufw allow 21/tcp
sudo ufw allow 50000:50050/tcp
- 重载规则:sudo ufw reload
- 可选:仅允许指定来源IP访问FTP
sudo ufw allow from 203.0.113.10 to any port 21,50000:50050 proto tcp
- 场景三:使用SFTP(推荐)
sudo ufw allow 22/tcp
- 常用检查:
sudo ufw status numbered(查看并核对规则编号)
sudo ufw logging on(开启日志便于排障)
使用iptables配置
- 放行控制与被动端口范围(示例范围50000–50050):
sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 50000:50050 -j ACCEPT
- 保存规则(持久化):
sudo iptables-save | sudo tee /etc/iptables/rules.v4
- 如需仅允许某IP访问FTP:
sudo iptables -A INPUT -p tcp -s 203.0.113.10 --dport 21 -j ACCEPT
sudo iptables -A INPUT -p tcp -s 203.0.113.10 --dport 50000:50050 -j ACCEPT
- 提示:Debian上常见做法是将iptables规则保存到**/etc/iptables/rules.v4**以便重启后恢复。
FileZilla Server被动模式与TLS设置要点
- 在FileZilla Server管理界面:
- 设置监听端口(默认21)。
- 在“Passive Mode Settings”中设定自定义被动端口范围(如50000–50050),并确保云厂商/机房安全组同样放行该范围。
- 在“Security”中启用Use SSL/TLS并生成证书,提升传输安全性。
- 若使用UFW,请按上文放行控制端口与被动端口范围;若使用iptables,同样放行对应端口。
验证与常见问题
- 连接测试:用另一台主机或本机FileZilla连接你的服务器IP/域名,协议选FTP或SFTP,端口分别21或22。
- 若被动模式失败,核对服务器被动端口范围与防火墙/安全组是否一致,并查看FileZilla与服务器日志。
- 若你实际运行的是其他FTP服务(如vsftpd),思路一致:放行21/tcp与被动端口范围(如1024–1048/tcp),再重载防火墙。