温馨提示×

CentOS FTPServer防火墙如何设置

小樊
52
2026-01-02 05:38:15
栏目: 智能运维

在CentOS系统中,使用Firewalld作为默认的防火墙管理工具,可以方便地设置FTP服务器的防火墙规则。以下是设置FTP服务器防火墙规则的步骤:

  1. 启动并启用Firewalld服务: 如果Firewalld服务尚未启动,请使用以下命令启动它,并设置为开机自启:

    sudo systemctl start firewalld
    sudo systemctl enable firewalld
    
  2. 开放FTP端口: FTP协议通常使用两个端口:21(控制连接)和20(数据连接)。你需要为这两个端口开放防火墙规则。

    • 打开控制连接端口(21):

      sudo firewall-cmd --permanent --add-port=21/tcp
      
    • 打开数据连接端口(20):

      sudo firewall-cmd --permanent --add-port=20/tcp
      
  3. 重新加载Firewalld配置: 为了让新的防火墙规则生效,需要重新加载Firewalld配置:

    sudo firewall-cmd --reload
    
  4. 验证防火墙规则: 使用以下命令查看当前的防火墙规则,确保端口21和20已经开放:

    sudo firewall-cmd --list-all
    
  5. 配置被动模式(PASV)端口范围(可选): 如果你使用的是被动模式FTP,还需要开放一个端口范围供客户端上传文件。假设你想开放端口范围1024到2048,可以使用以下命令:

    sudo firewall-cmd --permanent --add-port=1024-2048/tcp
    sudo firewall-cmd --reload
    
  6. 配置SELinux(如果适用): 如果你的系统启用了SELinux,可能还需要配置SELinux策略以允许FTP流量。你可以使用以下命令查看SELinux状态:

    sestatus
    

    如果SELinux处于 enforcing 模式,你可能需要添加相应的SELinux策略或临时将其设置为 permissive 模式进行测试:

    sudo setenforce 0
    

    然后,你可以使用 audit2allow 工具生成并应用自定义的SELinux策略模块。

通过以上步骤,你应该能够成功地在CentOS系统上为FTP服务器设置防火墙规则。请注意,具体的防火墙配置可能会因你的网络环境和安全需求而有所不同,建议根据实际情况进行调整。

0