centos

CentOS FTP Server的防火墙设置

小樊
33
2025-08-20 19:52:42
栏目: 智能运维

在CentOS系统上设置FTP服务器的防火墙,通常需要允许FTP服务所使用的端口。FTP协议默认使用两个端口:21(用于控制连接)和20(用于数据传输)。此外,如果使用被动模式(PASV),还需要开放一个范围内的端口供数据连接使用。

以下是设置CentOS防火墙以允许FTP服务的步骤:

1. 安装防火墙工具(如果尚未安装)

CentOS 7及以上版本默认使用firewalld作为防火墙管理工具。如果尚未安装,可以使用以下命令安装:

sudo yum install firewalld

2. 启动并启用防火墙

确保防火墙已启动并设置为开机自启:

sudo systemctl start firewalld
sudo systemctl enable firewalld

3. 允许FTP服务端口

允许控制连接端口(21)

sudo firewall-cmd --permanent --add-port=21/tcp

允许数据传输端口(20)

sudo firewall-cmd --permanent --add-port=20/tcp

允许被动模式端口范围(例如:50000-50050)

被动模式端口范围可以根据需要调整。以下是开放50000到50050端口的示例:

sudo firewall-cmd --permanent --add-port=50000-50050/tcp

4. 重新加载防火墙配置

应用新的防火墙规则:

sudo firewall-cmd --reload

5. 验证防火墙规则

检查防火墙规则是否已正确添加:

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

6. 配置FTP服务器(可选)

确保你的FTP服务器(如vsftpd)已正确配置并运行。以下是一些基本配置步骤:

安装vsftpd

sudo yum install vsftpd

启动并启用vsftpd服务

sudo systemctl start vsftpd
sudo systemctl enable vsftpd

配置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

重启vsftpd服务

sudo systemctl restart vsftpd

通过以上步骤,你应该能够在CentOS系统上成功设置FTP服务器的防火墙,并确保FTP服务正常运行。

0
看了该问题的人还看了