温馨提示×

如何在Ubuntu上配置FileZilla的防火墙规则

小樊
49
2025-12-14 06:21:13
栏目: 智能运维

在 Ubuntu 上为 FileZilla 配置防火墙规则

前置说明

  • FileZilla 是传输工具,本身不提供防火墙配置功能;需要在 Ubuntu 上使用系统防火墙放行相应端口。
  • 先确认你使用的是 SFTP(端口 22) 还是 FTP(端口 21 + 被动模式端口段),两者的放行方式不同。
  • 常见防火墙工具:UFW(Ubuntu 默认)、firewalldiptables

快速选择

  • 使用 SFTP(推荐):放行 22/TCP 即可,简单且穿透 NAT/防火墙更友好。
  • 使用 FTP:放行 21/TCP(控制通道),并在服务器端配置并放行一段 被动模式数据端口范围(如 50100–52100/TCP),客户端需与之匹配。

使用 UFW 放行端口

  • 安装并启用 UFW(如未启用):
    • sudo apt update
    • sudo apt install ufw
    • sudo ufw enable
    • sudo ufw default deny incoming
    • sudo ufw default allow outgoing
  • 放行规则:
    • SFTP:sudo ufw allow 22/tcp
    • FTP:sudo ufw allow 21/tcp
  • 验证:sudo ufw status(应看到 22/tcp 或 21/tcp 为 ALLOW)。

使用 firewalld 放行端口

  • 启动并持久化 firewalld:
    • sudo systemctl start firewalld
    • sudo systemctl enable firewalld
  • 放行规则:
    • SFTP:sudo firewall-cmd --permanent --add-port=22/tcp
    • FTP:sudo firewall-cmd --permanent --add-port=21/tcp
  • 使配置生效:sudo firewall-cmd --reload
  • 验证:sudo firewall-cmd --list-all(应列出 22/tcp 或 21/tcp)。

使用 iptables 放行端口

  • 放行规则:
    • SFTP:sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    • FTP:sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT
  • 保存规则(持久化,路径因发行版而异):sudo iptables-save > /etc/iptables/rules.v4
  • 验证:sudo iptables -L(应看到对应 ACCEPT 规则)。

FTP 被动模式与服务器配置要点

  • 若使用 FTP 被动模式(PASV),需在服务器端(如 vsftpd)设置被动端口范围,并在防火墙放行该范围;客户端(FileZilla)站点设置中的被动端口范围需与服务器一致。
  • 示例(服务器端常见做法):放行 21/tcp50100–52100/tcp,并在 vsftpd 配置中设置 pasv_min_port/pasv_max_port 为该范围;重启 vsftpd 后,防火墙规则与客户端设置匹配即可正常传输。

0