商城首页欢迎来到中国正版软件门户

您的位置:首页 >FileZilla如何使用防火墙

FileZilla如何使用防火墙

  发布于2026-04-24 阅读(0)

扫一扫,手机访问

FileZilla与防火墙的正确配置

FileZilla如何使用防火墙

一、先明确角色与总体原则

在动手配置之前,有两点必须拎清楚。首先,FileZilla分为客户端和服务器端(FileZilla Server),而防火墙的配置,其实是在操作系统层面或者云平台的安全组里完成的,并非在FileZilla软件内部直接设置。

其次,FTP协议本身就有两种工作模式:主动模式和被动模式。简单来说,主动模式下,服务器会从20端口主动连接客户端的数据端口;而被动模式下,服务器会开放一个指定的端口范围,等着客户端来连接。这两种模式对防火墙的配置要求截然不同。所以,部署前务必先确定好使用哪种模式,然后在防火墙里“开对门”。

二、Linux服务器部署 FileZilla Server 的防火墙配置

在Linux服务器上,根据发行版的不同,防火墙工具也各异。下面我们分几种主流情况来看。

使用 firewalld(推荐,适用于 CentOS/RHEL/Fedora 等)

firewalld是目前很多主流发行版默认的防火墙管理工具,配置起来相对直观。

  1. 启动并持久化防火墙:首先确保服务启动并设置开机自启。
    sudo systemctl start firewalld && sudo systemctl enable firewalld
  2. 放行控制端口:FTP的控制连接默认使用21端口。
    sudo firewall-cmd --permanent --add-port=21/tcp
  3. 配置并放行被动端口范围:这是关键一步。假设我们计划使用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
  4. 应用规则:让所有配置生效,并可以查看一下最终规则列表。
    sudo firewall-cmd --reload && sudo firewall-cmd --list-all

使用 UFW(适用于 Debian/Ubuntu 等)

UFW(Uncomplicated Firewall)以其简单易用著称,在Ubuntu系列中很常见。

  1. 启用UFW并设置默认策略:通常建议默认拒绝所有入站,允许所有出站。
    sudo ufw enable && sudo ufw default deny incoming && sudo ufw default allow outgoing
  2. 放行必要端口:同样,放行21端口和被动端口范围。
    sudo ufw allow 21/tcp
    sudo ufw allow 50100:52100/tcp
  3. 查看状态:确认规则已添加成功。
    sudo ufw status

使用 iptables(传统方式)

如果你更习惯直接使用iptables,或者在一些老系统上工作,可以按如下命令操作。

  1. 放行控制端口
    sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT
  2. 放行被动端口范围
    sudo iptables -A INPUT -p tcp --dport 50100:52100 -j ACCEPT
  3. 保存规则: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)已放行。
  • 客户端侧检查
    • 使用基础网络工具测试连通性:
      telnet 服务器IP 21nc -vz 服务器IP 21
    • 在FileZilla站点设置中,主动切换“主动模式”和“被动模式”进行对比测试。
    • 仔细查看FileZilla的“消息日志”,它会明确告诉你失败是发生在控制连接阶段还是数据连接阶段,这是定位问题的关键线索。
本文转载于:https://www.yisu.com/ask/26932751.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注