配置CentOS FTP服务器的防火墙需要确保FTP服务所需的端口是开放的。FTP通常使用两个端口:21(用于控制连接)和20(用于数据传输)。此外,如果使用被动模式(PASV),还需要开放一个范围内的端口。以下是配置CentOS防火墙的步骤:
如果你还没有安装防火墙工具,可以使用以下命令安装firewalld:
sudo yum install firewalld
启动firewalld服务并设置为开机自启:
sudo systemctl start firewalld
sudo systemctl enable firewalld
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
或者使用netstat或ss命令来查看FTP服务是否在监听这些端口:
sudo netstat -tuln | grep 21
sudo netstat -tuln | grep 20
sudo netstat -tuln | grep 50000
如果SELinux处于 enforcing 模式,可能需要配置SELinux策略以允许FTP流量。你可以临时将SELinux设置为 permissive 模式来测试:
sudo setenforce 0
如果一切正常,你可以配置SELinux策略文件(例如 /etc/selinux/config)来永久设置SELinux为 permissive 模式:
SELINUX=permissive
然后重启系统。
最后,使用FTP客户端连接到你的服务器,确保可以正常上传和下载文件。
通过以上步骤,你应该能够成功配置CentOS FTP服务器的防火墙。