FileZilla如何使用防火墙
FileZilla与防火墙的正确配置 一、先明确角色与总体原则 在动手配置之前,有两点必须拎清楚。首先,FileZilla分为客户端和服务器端(FileZilla Server),而防火墙的配置,其实是在操作系统层面或者云平台的安全组里完成的,并非在FileZilla软件内部直接设置。 其次,FTP
FileZilla与防火墙的正确配置

一、先明确角色与总体原则
在动手配置之前,有两点必须拎清楚。首先,FileZilla分为客户端和服务器端(FileZilla Server),而防火墙的配置,其实是在操作系统层面或者云平台的安全组里完成的,并非在FileZilla软件内部直接设置。
其次,FTP协议本身就有两种工作模式:主动模式和被动模式。简单来说,主动模式下,服务器会从20端口主动连接客户端的数据端口;而被动模式下,服务器会开放一个指定的端口范围,等着客户端来连接。这两种模式对防火墙的配置要求截然不同。所以,部署前务必先确定好使用哪种模式,然后在防火墙里“开对门”。
二、Linux服务器部署 FileZilla Server 的防火墙配置
在Linux服务器上,根据发行版的不同,防火墙工具也各异。下面我们分几种主流情况来看。
使用 firewalld(推荐,适用于 CentOS/RHEL/Fedora 等)
firewalld是目前很多主流发行版默认的防火墙管理工具,配置起来相对直观。
- 启动并持久化防火墙:首先确保服务启动并设置开机自启。
sudo systemctl start firewalld && sudo systemctl enable firewalld - 放行控制端口:FTP的控制连接默认使用21端口。
sudo firewall-cmd --permanent --add-port=21/tcp - 配置并放行被动端口范围:这是关键一步。假设我们计划使用50100到52100这个端口段。
- 首先,在FileZilla Server的管理界面里设置这个范围:进入“Edit” → “Settings” → “Passive mode settings”,勾选“Use custom port range”并填入50100-52100。
- 接着,在防火墙里放行这个范围的TCP端口。
sudo firewall-cmd --permanent --add-port=50100-52100/tcp
- 应用规则:让所有配置生效,并可以查看一下最终规则列表。
sudo firewall-cmd --reload && sudo firewall-cmd --list-all
使用 UFW(适用于 Debian/Ubuntu 等)
UFW(Uncomplicated Firewall)以其简单易用著称,在Ubuntu系列中很常见。
- 启用UFW并设置默认策略:通常建议默认拒绝所有入站,允许所有出站。
sudo ufw enable && sudo ufw default deny incoming && sudo ufw default allow outgoing - 放行必要端口:同样,放行21端口和被动端口范围。
sudo ufw allow 21/tcp
sudo ufw allow 50100:52100/tcp - 查看状态:确认规则已添加成功。
sudo ufw status
使用 iptables(传统方式)
如果你更习惯直接使用iptables,或者在一些老系统上工作,可以按如下命令操作。
- 放行控制端口:
sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT - 放行被动端口范围:
sudo iptables -A INPUT -p tcp --dport 50100:52100 -j ACCEPT - 保存规则:iptables规则默认是临时的,重启会丢失,记得保存。保存路径因发行版而异,常见命令如下:
sudo iptables-sa ve > /etc/iptables/rules.v4
补充说明:这里有个重要的选择。如果使用主动模式,你需要确保服务器能访问到客户端的高位端口(通常大于1024),这在有严格NAT或云网络的环境里往往比较麻烦。因此,在大多数现代网络环境下,更推荐使用被动模式,并像上面那样显式地在防火墙里放行一个端口范围。另外,别忘了,如果你用的是云服务器(如阿里云、AWS、腾讯云等),除了系统防火墙,云平台的安全组规则也必须同步放行上述的TCP端口,否则流量依然会被拦截在云端。
三、客户端侧防火墙要点(Windows/macOS/Linux)
客户端的配置通常简单很多。一般来说,客户端防火墙只需要允许本机的FileZilla程序发起出站连接,连接到服务器的21端口以及被动端口范围。大多数桌面操作系统的防火墙(如Windows Defender防火墙)对于用户启动的应用程序的出站连接,默认都是允许的,所以通常无需额外配置。
但是,如果你遇到了“能成功连接服务器,但一列出目录就卡住或者失败”的情况,十有八九是被动端口没通。这时候可以这样排查:
- 在FileZilla客户端的站点设置里,将“传输模式”临时改为“主动模式”进行对比测试。如果主动模式正常,那问题就锁定在被动模式上。
- 如果必须使用被动模式,那就需要回过头去,三重确认:服务器端的FileZilla Server是否配置了被动端口范围?服务器的系统防火墙是否放行了该范围?云服务器的安全组规则是否也放行了?
四、快速排障清单
遇到连接问题别慌,按照这个清单一步步核对,能快速定位大多数故障。
- 服务器侧检查:
- 核对服务是否在监听:
ss -lntp | grep :21 - 核对防火墙放行的端口是否与配置一致:
对于firewalld:firewall-cmd --list-ports
对于UFW:sudo ufw status
对于iptables:sudo iptables -L -n - 最后,务必检查云服务商的安全组/网络ACL规则,确保21/TCP和被动端口范围(如50100-52100/TCP)已放行。
- 核对服务是否在监听:
- 客户端侧检查:


































