centos

centos vsftp防火墙如何配置

小樊
46
2025-08-20 15:05:36
栏目: 智能运维

在CentOS系统中配置vsftpd(Very Secure FTP Daemon)的防火墙,通常涉及到开放FTP服务所需的端口。默认情况下,vsftpd使用以下端口:

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

使用firewalld

CentOS 7及以上版本默认使用firewalld作为防火墙管理工具。

  1. 启动并启用firewalld服务(如果尚未启动):

    sudo systemctl start firewalld
    sudo systemctl enable firewalld
    
  2. 开放FTP服务所需的端口

    sudo firewall-cmd --permanent --add-port=21/tcp
    sudo firewall-cmd --permanent --add-port=20/tcp
    
  3. 重新加载firewalld配置以应用更改

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

    sudo firewall-cmd --list-all
    

使用iptables

CentOS 6及以下版本通常使用iptables作为防火墙管理工具。

  1. 开放FTP服务所需的端口

    sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT
    sudo iptables -A INPUT -p tcp --dport 20 -j ACCEPT
    
  2. 保存iptables规则(CentOS 6):

    sudo service iptables save
    

    CentOS 7及以上版本使用firewalld,不需要手动保存iptables规则。

配置SELinux(可选)

如果系统启用了SELinux,可能需要配置SELinux策略以允许FTP流量。

  1. 查看SELinux状态

    sestatus
    
  2. 如果SELinux处于 enforcing 模式,可以临时将其设置为 permissive 模式以测试

    sudo setenforce 0
    
  3. 配置SELinux策略: 编辑 /etc/selinux/config 文件,将 SELINUX=enforcing 改为 SELINUX=permissive,然后重启系统。

    或者,使用 semanage 命令添加FTP相关的SELinux策略:

    sudo yum install policycoreutils-python
    sudo semanage port -a -t ftp_port_t -p tcp 21
    sudo semanage port -a -t ftp_port_t -p tcp 20
    

重启vsftpd服务

最后,重启vsftpd服务以应用所有更改:

sudo systemctl restart vsftpd

完成以上步骤后,你的CentOS系统应该已经成功配置了vsftpd的防火墙规则。

0
看了该问题的人还看了