Linux系统中FileZilla防火墙设置指南(服务器端)
FileZilla作为FTP客户端本身无需配置防火墙,其连接稳定性取决于服务器端的防火墙规则是否允许FTP服务端口及被动模式端口通过。以下是针对Linux服务器(使用iptables、firewalld、ufw)的具体配置步骤:
FTP服务默认使用21端口(控制连接),若使用被动模式(PASV),需额外开放数据端口范围(如50000-52000)。需先在FileZilla Server配置界面(编辑→设置→被动模式设置)设置端口范围,再在防火墙中开放该范围。
# 添加允许21端口TCP连接的规则
sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT
# 添加允许被动模式端口范围的规则
sudo iptables -A INPUT -p tcp --dport 50000:52000 -j ACCEPT
# Ubuntu/Debian(需安装iptables-persistent)
sudo netfilter-persistent save
# CentOS/RHEL(规则默认保存在/etc/sysconfig/iptables)
sudo service iptables save
注意:iptables需手动保存规则,否则重启后失效。
# 启动firewalld
sudo systemctl start firewalld
# 设置开机自启
sudo systemctl enable firewalld
# 允许FTP服务(包含21端口)
sudo firewall-cmd --permanent --add-service=ftp
# 重新加载规则使更改生效
sudo firewall-cmd --reload
# 永久添加被动模式端口范围(示例:50000-52000)
sudo firewall-cmd --permanent --add-port=50000-52000/tcp
# 重新加载规则
sudo firewall-cmd --reload
验证规则:
sudo firewall-cmd --list-all # 查看是否包含21端口及被动模式端口范围
firewalld支持动态管理,无需手动保存规则。
sudo apt update && sudo apt install ufw
# 启用ufw
sudo ufw enable
# 设置默认策略:拒绝入站、允许出站
sudo ufw default deny incoming
sudo ufw default allow outgoing
# 允许FTP服务
sudo ufw allow ftp
# 或手动指定端口
sudo ufw allow 21/tcp
# 允许被动模式端口范围(示例:50000-52000)
sudo ufw allow 50000:52000/tcp
# 查看规则状态
sudo ufw status verbose
ufw通过简单命令实现规则管理,适合新手。
sudo tail -f /var/log/firewalld)定位被拦截的流量。