配置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
你应该能在输出中看到这些端口已被添加。
被动模式端口范围:确保你选择的被动模式端口范围不会与其他服务冲突,并且这些端口在你的网络环境中是允许的。
SELinux:如果启用了SELinux,可能需要额外的配置来允许FTP流量。你可以临时设置SELinux为宽容模式来测试:
sudo setenforce 0
或者,你可以配置SELinux策略以允许FTP流量。
FTP服务器配置:确保你的FTP服务器(如vsftpd)配置正确,特别是被动模式的配置。编辑/etc/vsftpd/vsftpd.conf
文件,确保以下配置项正确:
pasv_enable=YES
pasv_min_port=50000
pasv_max_port=50050
然后重启vsftpd服务:
sudo systemctl restart vsftpd
通过以上步骤,你应该能够成功配置CentOS防火墙以支持FTP服务。