在CentOS系统中,使用vsftpd作为FTP服务器时,配置防火墙以允许FTP流量是非常重要的。以下是配置防火墙的步骤:
CentOS 7及以上版本默认使用firewalld作为防火墙管理工具。如果尚未安装,可以使用以下命令进行安装:
sudo yum install firewalld -y
启动firewalld服务并设置为开机自启:
sudo systemctl start firewalld
sudo systemctl enable firewalld
sudo firewall-cmd --permanent --add-port=21/tcp
如果你使用的是被动模式,需要开放这个端口范围:
sudo firewall-cmd --permanent --add-port=49152-65535/tcp
应用新的防火墙规则:
sudo firewall-cmd --reload
你可以使用以下命令查看当前的防火墙规则:
sudo firewall-cmd --list-all
确保FTP相关的端口已经正确添加到防火墙规则中。
编辑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=49152
pasv_max_port=65535
应用配置更改:
sudo systemctl restart vsftpd
使用FTP客户端连接到你的服务器,确保可以正常上传和下载文件。
通过以上步骤,你应该能够成功配置CentOS系统上的防火墙以允许vsftpd FTP服务器的正常运行。