centos

CentOS下VSFTP的防火墙配置

小樊
55
2025-09-22 01:26:26
栏目: 智能运维

在CentOS系统中,使用VSFTPD(Very Secure FTP Daemon)作为FTP服务器时,需要正确配置防火墙以允许FTP流量。以下是配置防火墙的步骤:

1. 安装防火墙工具

首先,确保你的系统上安装了firewalldiptables。CentOS 7及更高版本默认使用firewalld

安装firewalld

sudo yum install firewalld -y

启动并启用firewalld

sudo systemctl start firewalld
sudo systemctl enable firewalld

2. 配置firewalld

允许FTP流量

FTP使用两个端口:21(控制连接)和20(数据连接)。你需要允许这两个端口的流量。

临时开放端口
sudo firewall-cmd --permanent --add-port=21/tcp
sudo firewall-cmd --permanent --add-port=20/tcp
重新加载防火墙配置
sudo firewall-cmd --reload

如果需要被动模式(PASV)

被动模式下,FTP客户端会打开一个随机端口来接收数据。你需要允许这些随机端口的流量。通常,被动模式的端口范围是49152到65535。

临时开放被动模式端口范围
sudo firewall-cmd --permanent --add-port=49152-65535/tcp
重新加载防火墙配置
sudo firewall-cmd --reload

3. 验证配置

你可以使用以下命令来验证端口是否已经开放:

sudo firewall-cmd --list-all

你应该能看到类似以下的输出,表明端口已经开放:

ports: tcp 21/tcp 20/tcp 49152-65535/tcp

4. 配置SELinux(可选)

如果你的系统启用了SELinux,可能还需要配置SELinux以允许FTP流量。

设置SELinux上下文

sudo setsebool -P ftp_home_dir on
sudo setsebool -P allow_ftpd_full_access on

验证SELinux状态

sestatus

确保SELinux处于enforcing模式。

5. 重启VSFTPD服务

最后,重启VSFTPD服务以应用所有更改:

sudo systemctl restart vsftpd

现在,你的CentOS系统应该已经正确配置了防火墙,允许VSFTPD的FTP流量。

0
看了该问题的人还看了