在CentOS系统中,使用VSFTPD(Very Secure FTP Daemon)作为FTP服务器时,需要正确配置防火墙以允许FTP流量。以下是配置防火墙的步骤:
首先,确保你的系统上安装了firewalld或iptables。CentOS 7及更高版本默认使用firewalld。
sudo yum install firewalld -y
sudo systemctl start firewalld
sudo systemctl enable firewalld
FTP使用两个端口:21(控制连接)和20(数据连接)。你需要允许这两个端口的流量。
sudo firewall-cmd --permanent --add-port=21/tcp
sudo firewall-cmd --permanent --add-port=20/tcp
sudo firewall-cmd --reload
被动模式下,FTP客户端会打开一个随机端口来接收数据。你需要允许这些随机端口的流量。通常,被动模式的端口范围是49152到65535。
sudo firewall-cmd --permanent --add-port=49152-65535/tcp
sudo firewall-cmd --reload
你可以使用以下命令来验证端口是否已经开放:
sudo firewall-cmd --list-all
你应该能看到类似以下的输出,表明端口已经开放:
ports: tcp 21/tcp 20/tcp 49152-65535/tcp
如果你的系统启用了SELinux,可能还需要配置SELinux以允许FTP流量。
sudo setsebool -P ftp_home_dir on
sudo setsebool -P allow_ftpd_full_access on
sestatus
确保SELinux处于enforcing模式。
最后,重启VSFTPD服务以应用所有更改:
sudo systemctl restart vsftpd
现在,你的CentOS系统应该已经正确配置了防火墙,允许VSFTPD的FTP流量。