温馨提示×

怎样配置CentOS FTP Server防火墙

小樊
43
2025-11-15 23:22:41
栏目: 智能运维

配置CentOS FTP服务器的防火墙需要确保FTP服务所需的端口是开放的。FTP协议通常使用两个端口:21(用于控制连接)和20(用于数据传输)。此外,如果使用被动模式(PASV),还需要开放一个范围的外端口。

以下是配置CentOS防火墙以允许FTP流量的步骤:

  1. 安装防火墙(如果尚未安装):

    sudo yum install firewalld
    
  2. 启动防火墙

    sudo systemctl start firewalld
    
  3. 设置防火墙开机自启

    sudo systemctl enable firewalld
    
  4. 开放FTP端口

    • 开放标准FTP端口21:
      sudo firewall-cmd --permanent --add-port=21/tcp
      
    • 开放FTP数据端口20:
      sudo firewall-cmd --permanent --add-port=20/tcp
      
    • 如果使用被动模式,需要开放一个端口范围(例如50000-50050):
      sudo firewall-cmd --permanent --add-port=50000-50050/tcp
      
  5. 重新加载防火墙配置

    sudo firewall-cmd --reload
    
  6. 验证端口是否开放

    sudo firewall-cmd --list-all
    

    你应该能在输出中看到刚刚添加的端口。

注意事项

  • 被动模式端口范围:被动模式下,FTP服务器会打开一个端口范围用于数据传输。这个范围需要在防火墙中开放,并且在FTP服务器配置中进行相应的设置。

  • SELinux:如果启用了SELinux,可能还需要配置SELinux策略以允许FTP流量。可以使用以下命令查看SELinux状态:

    sestatus
    

    如果SELinux是启用的,可能需要调整相关的策略或临时将其设置为宽容模式(permissive mode)来测试:

    sudo setenforce 0
    

    注意:这只是为了测试,生产环境中应保持SELinux在 enforcing 模式。

  • FTP服务器配置:确保FTP服务器(如vsftpd)的配置文件中正确设置了被动模式端口范围。例如,在vsftpd的配置文件(通常是/etc/vsftpd/vsftpd.conf)中,可能需要设置:

    pasv_min_port=50000
    pasv_max_port=50050
    

通过以上步骤,你应该能够成功配置CentOS防火墙以允许FTP流量。

0