在CentOS系统上设置FTP服务器的防火墙,通常需要允许FTP服务所使用的端口。FTP协议默认使用两个端口:21(用于控制连接)和20(用于数据传输)。此外,如果使用被动模式(PASV),还需要开放一个范围内的端口供数据连接使用。
以下是设置CentOS防火墙以允许FTP服务的步骤:
CentOS 7及以上版本默认使用firewalld
作为防火墙管理工具。如果尚未安装,可以使用以下命令安装:
sudo yum install 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
被动模式端口范围可以根据需要调整。以下是开放50000到50050端口的示例:
sudo firewall-cmd --permanent --add-port=50000-50050/tcp
应用新的防火墙规则:
sudo firewall-cmd --reload
检查防火墙规则是否已正确添加:
sudo firewall-cmd --list-all
你应该能看到类似以下的输出,表明FTP相关端口已被允许:
services: ssh http https ftp ftps sftp
ports: 21/tcp 20/tcp 50000-50050/tcp
protocols: tcp icmp ipv4 ipv6
确保你的FTP服务器(如vsftpd)已正确配置并运行。以下是一些基本配置步骤:
sudo yum install vsftpd
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
编辑/etc/vsftpd/vsftpd.conf
文件,确保以下配置项正确:
listen=YES
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
pasv_enable=YES
pasv_min_port=50000
pasv_max_port=50050
sudo systemctl restart vsftpd
通过以上步骤,你应该能够在CentOS系统上成功设置FTP服务器的防火墙,并确保FTP服务正常运行。