Filezilla有两种使用场景:客户端(用于连接远程FTP服务器)和服务器(用于提供FTP服务)。防火墙设置需根据角色调整:
ufw(Uncomplicated Firewall)作为防火墙管理工具,其命令简洁易操作。若系统未安装ufw,需先执行以下命令安装:
sudo apt update
sudo apt install ufw
启用ufw并设置默认规则(拒绝所有入站连接、允许所有出站连接):
sudo ufw enable
sudo ufw default deny incoming
sudo ufw default allow outgoing
查看防火墙状态(确认规则是否生效):
sudo ufw status
若使用Filezilla作为客户端连接远程FTP服务器,通常无需额外配置ufw(默认允许所有出站连接)。若系统防火墙严格限制出站连接,可添加以下规则:
sudo ufw allow out 21/tcp # 允许出站FTP控制连接
sudo ufw allow out 50000:50050/tcp # 允许出站被动模式端口范围(根据服务器设置调整)
若使用Debian作为FTP服务器(安装了Filezilla Server),需开放以下端口:
sudo ufw allow 21/tcp
FileZilla Server Interface → Edit → Settings → Passive mode settings → Port range,例如50000-50050),然后在ufw中开放该范围:sudo ufw allow 50000:50050/tcp
sudo ufw allow from 192.168.1.100/32 to any port 21/tcp # 仅允许192.168.1.100访问FTP控制端口
sudo ufw allow from 192.168.1.100/32 to any port 50000:50050/tcp # 仅允许192.168.1.100访问被动模式端口
添加规则后,重新加载ufw使配置生效:
sudo ufw reload
若连接FTP服务器时出现超时,需检查以下内容:
sudo ufw status确认端口是否开放;ufw开放的端口范围一致,且在FileZilla Server的Passive mode settings中填写了正确的“外部服务器IP地址”(即服务器的公网IP或路由器映射的IP);ping命令测试客户端与服务器的网络连接,确保能正常访问。若需使用iptables(传统防火墙工具),可执行以下命令:
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
sudo systemctl enable iptables
sudo systemctl start iptables