温馨提示×

如何在CentOS上配置Filezilla防火墙

小樊
34
2025-12-29 02:50:22
栏目: 智能运维

在 CentOS 上为 FileZilla 配置防火墙

一 前置说明

  • FileZilla 客户端无需在本机配置防火墙;需要放行的是运行 FTP/SFTP 的服务器端端口与数据通道。
  • 若使用 SFTP(基于 SSH),只需放行 TCP 22;若使用 FTP,需放行 控制端口 21/TCP被动模式端口范围(自定义一段高位端口),并确保两端范围一致。

二 使用 firewalld 放行(推荐)

  • 启动并持久化防火墙
    • 启动:sudo systemctl start firewalld
    • 开机自启:sudo systemctl enable firewalld
  • 放行 SFTP(端口 22/TCP
    • sudo firewall-cmd --permanent --add-service=ssh
  • 放行 FTP(端口 21/TCP
    • 方式一(模块方式,推荐):sudo firewall-cmd --permanent --add-service=ftp
    • 方式二(显式端口):sudo firewall-cmd --permanent --add-port=21/tcp
  • 放行被动模式端口范围(示例:50000-52000/TCP,请与服务器配置一致)
    • sudo firewall-cmd --permanent --add-port=50000-52000/tcp
  • 使配置生效
    • sudo firewall-cmd --reload
  • 验证
    • 查看:sudo firewall-cmd --list-all
    • 在线运行时查看被拦截日志:sudo tail -f /var/log/firewalld

三 使用 iptables 放行(传统方式)

  • 放行 FTP 控制连接(21/TCP
    • sudo iptables -A INPUT -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
  • 放行 FTP 主动模式数据连接(20/TCP,服务器→客户端)
    • sudo iptables -A INPUT -p tcp --sport 20 -m state --state ESTABLISHED -j ACCEPT
  • 放行被动模式数据连接(示例:50000-52000/TCP,客户端→服务器)
    • sudo iptables -A INPUT -p tcp --dport 50000:52000 -m state --state NEW,ESTABLISHED -j ACCEPT
  • 保存规则(CentOS 6 等旧版本)
    • sudo service iptables save
  • 说明
    • 若不确定被动端口范围,被动模式数据连接可能落入高位动态端口(如 1024-65535),但出于安全建议固定并放行一段高位范围,并在服务器与客户端保持一致。

四 服务器端被动端口与 NAT 设置

  • 若使用 vsftpd 作为 FTP 服务,编辑 /etc/vsftpd/vsftpd.conf
    • 开启被动模式并设定端口范围:
      • pasv_enable=YES
      • pasv_min_port=50000
      • pasv_max_port=52000
    • 服务器位于 NAT 后时,指定公网地址:
      • pasv_address=<服务器公网IP>
    • 重启服务:sudo systemctl restart vsftpd
  • 若使用 FileZilla Server(Linux 版),在“编辑 → 设置 → 被动模式设置”中设置相同的端口范围(如 50000-52000),并确保云厂商/机房安全组也放行该范围。

五 客户端与连通性验证

  • 协议与端口选择
    • SFTP:选择 SFTP - SSH File Transfer Protocol,端口 22
    • FTP:选择 FTP - File Transfer Protocol,端口 21,传输模式建议选 被动模式
  • 连通性与日志排查
    • 网络连通:ping <服务器IP>
    • 服务状态:
      • SFTP:sudo systemctl status ssh
      • FTP:确认 vsftpd 或 FileZilla Server 已启动
    • 日志定位:
      • SFTP:/var/log/secure(CentOS/RHEL)
      • FTP:查看 /var/log/vsftpd.log(若启用)
  • 安全建议
    • FTP 明文传输,建议优先使用 SFTPFTPS;若必须用 FTP,务必固定并限制被动端口范围,仅对受信来源放行。

0