运维

运维

Products

当前位置:首页 > 运维 >

如何配置Debian系统中的vsftp以通过防火墙?

96SEO 2025-06-30 18:23 8


一、 配置防火墙,开启FTP服务器所需端口

在Debian系统中,配置vsftp以允许FTP流量通过防火墙,通常需要两个步骤:配置vsftpd本身以及配置iptables或ufw。先说说我们需要配置防火墙,开启FTP服务器所需的端口。

Debian系统中vsftp如何配置防火墙
端口 用途
21 FTP控制连接
20 FTP数据传输

二、 新鲜建系统用户vsftpd,配置用户目录和登录终端

接下来我们需要新鲜建一个系统用户vsftpd,并设置用户目录和登录终端。这样,vsftpd用户就能登录并访问FTP服务器了。

1. 新鲜建系统用户vsftpd

用以下命令新鲜建系统用户vsftpd:

sudo adduser vsftpd

2. 设置用户目录

将vsftpd用户的家目录设置为/home/wwwroot:

sudo usermod -d /home/wwwroot vsftpd

3. 设置登录终端

将vsftpd用户的登录终端设置为/bin/false, 使其无法登录系统:

sudo usermod -s /bin/false vsftpd

三、编辑vsftpd配置文件,允许PASV模式连接

不幸的是FTP工具或浏览器默认用的都是PASV模式连接FTP服务器。所以呢,我们需要使vsftpd在开启了防火墙的情况下也能够支持PASV模式进行数据访问。

1. 编辑vsftpd配置文件

用以下命令编辑vsftpd的配置文件:

sudo nano /etc/vsftpd/vsftpd.conf

2. 设置PASV模式

在配置文件中, 找到以下配置项,并确保它们被设置为“YES”:

pasv_enable=YES
pasv_min_port=1024
pasv_max_port=1048

四、配置防火墙,允许FTP流量通过

眼下我们需要配置防火墙,允许FTP流量通过。

1. 用iptables配置防火墙

用以下命令添加防火墙规则, 允许FTP流量通过:

sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT  # FTP控制端口
sudo iptables -A INPUT -p tcp --dport 20 -j ACCEPT  # FTP数据端口
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT  # 允许已建立的连接

2. 用ufw配置防火墙

sudo ufw allow 21/tcp  # FTP控制端口
sudo ufw allow 20/tcp  # FTP数据端口

五、验证配置

确保防火墙规则已经生效,并且vsftpd服务正在运行:

sudo systemctl status vsftpd

你得能够看到FTP相关的端口已经被允许通过防火墙。

通过以上步骤,你能在Debian系统中成功配置vsftpd并通过防火墙允许FTP流量。希望这篇文章能帮你解决配置过程中的问题。


标签: debian

提交需求或反馈

Demand feedback