配置CentOS FTP服务器的防火墙需要确保FTP服务所需的端口是开放的。FTP协议通常使用两个端口:21(用于控制连接)和20(用于数据传输)。此外,如果使用被动模式(PASV),还需要开放一个范围的外端口。
以下是配置CentOS防火墙以允许FTP流量的步骤:
安装防火墙(如果尚未安装):
sudo yum install firewalld
启动防火墙:
sudo systemctl start firewalld
设置防火墙开机自启:
sudo systemctl enable firewalld
开放FTP端口:
sudo firewall-cmd --permanent --add-port=21/tcp
sudo firewall-cmd --permanent --add-port=20/tcp
sudo firewall-cmd --permanent --add-port=50000-50050/tcp
重新加载防火墙配置:
sudo firewall-cmd --reload
验证端口是否开放:
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流量。