温馨提示×

如何在Linux中配置FileZilla防火墙

小樊
41
2025-11-02 02:34:25
栏目: 智能运维

如何在Linux中配置FileZilla防火墙
FileZilla本身是FTP/SFTP客户端,不提供防火墙配置功能。Linux系统中,需通过操作系统防火墙工具(如iptablesfirewalldufw)配置规则,允许FileZilla客户端与服务器之间的流量通过。以下是具体步骤:

一、基础准备:确认FTP服务与端口

  • FTP控制端口:默认使用21端口(用于建立FTP连接、发送命令)。
  • 被动模式数据端口:FTP被动模式(PASV)需开放额外端口范围(如50000-51000),用于数据传输(如文件下载/上传)。需在FileZilla Server配置中设置此范围(后续说明)。

二、使用firewalld配置(推荐,适用于CentOS/RHEL/Fedora等)

firewalld是现代Linux发行版的默认防火墙工具,支持动态规则管理和区域划分。

  1. 启动并启用firewalld服务
    sudo systemctl start firewalld      # 启动服务
    sudo systemctl enable firewalld     # 开机自启
    
  2. 添加FTP控制端口规则(永久生效)
    sudo firewall-cmd --permanent --add-port=21/tcp  # 允许FTP控制连接
    
  3. 添加被动模式数据端口范围(永久生效)
    若FileZilla Server配置了被动模式端口范围(如50000-51000),需同步开放:
    sudo firewall-cmd --permanent --add-port=50000-51000/tcp
    
  4. 重新加载防火墙规则
    使新增规则立即生效:
    sudo firewall-cmd --reload
    
  5. 验证规则是否生效
    sudo firewall-cmd --list-all  # 查看当前开放端口和服务
    
    输出应包含21/tcp50000-51000/tcp

三、使用iptables配置(传统工具,适用于Debian/Ubuntu等)

iptables是Linux经典防火墙工具,需手动保存规则。

  1. 查看现有规则
    sudo iptables -L -n  # 查看当前规则(-n显示IP/端口而非域名/服务名)
    
  2. 添加FTP控制端口规则
    允许21端口的TCP连接:
    sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT
    
  3. 添加被动模式数据端口规则
    若使用被动模式,需开放对应端口范围(如50000-51000):
    sudo iptables -A INPUT -p tcp --dport 50000:51000 -j ACCEPT
    
  4. 保存规则(避免重启丢失)
    根据发行版选择对应命令:
    • Debian/Ubuntu:sudo iptables-save > /etc/iptables/rules.v4
    • CentOS/RHEL:sudo service iptables save
  5. 验证规则
    再次运行sudo iptables -L -n,确认新增规则存在。

四、使用ufw配置(简化工具,适用于Debian/Ubuntu等)

ufw(Uncomplicated Firewall)是Ubuntu默认防火墙工具,命令简洁。

  1. 安装ufw(若未安装)
    sudo apt update && sudo apt install ufw
    
  2. 启用ufw并设置默认策略
    sudo ufw enable          # 启用ufw
    sudo ufw default deny incoming  # 默认拒绝入站流量
    sudo ufw default allow outgoing # 默认允许出站流量
    
  3. 允许FTP控制端口
    sudo ufw allow 21/tcp    # 允许FTP控制连接
    
  4. 允许被动模式数据端口范围
    sudo ufw allow 50000:51000/tcp  # 允许被动模式数据传输
    
  5. 查看ufw状态
    sudo ufw status verbose  # 查看详细规则(包括端口和策略)
    

五、配置FileZilla Server的被动模式端口范围

被动模式下,FTP服务器需告知客户端数据传输端口,因此需提前设置端口范围:

  1. 打开FileZilla Server Manager
    在服务器上启动FileZilla Server应用程序。
  2. 进入设置界面
    右键点击服务器实例→选择“设置”(Settings)。
  3. 配置被动模式端口
    导航至“被动模式设置”(Passive mode settings)→ 勾选“使用自定义端口范围”(Use custom port range)→ 输入范围(如50000-51000)→ 点击“确定”保存。

注意事项

  • 端口一致性:FileZilla Server配置的被动模式端口范围必须与防火墙开放的端口范围完全一致,否则客户端无法连接。
  • 安全性:建议限制允许访问FTP服务的IP地址(如仅允许可信IP访问),减少攻击面。例如,使用firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" accept'(firewalld)或sudo ufw allow from 192.168.1.100 to any port 21(ufw)。
  • 加密传输:建议使用SFTP(SSH File Transfer Protocol)替代FTP,SFTP通过SSH加密,无需开放额外端口(仅需22端口),更安全。

0