温馨提示×

centos vsftp防火墙如何配置

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

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

  • 21/tcp:用于控制连接。
  • 20/tcp:用于数据连接(主动模式)。

以下是配置防火墙以允许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