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

| 端口 | 用途 |
|---|---|
| 21 | FTP控制连接 |
| 20 | FTP数据传输 |
接下来我们需要新鲜建一个系统用户vsftpd,并设置用户目录和登录终端。这样,vsftpd用户就能登录并访问FTP服务器了。
用以下命令新鲜建系统用户vsftpd:
sudo adduser vsftpd
将vsftpd用户的家目录设置为/home/wwwroot:
sudo usermod -d /home/wwwroot vsftpd
将vsftpd用户的登录终端设置为/bin/false, 使其无法登录系统:
sudo usermod -s /bin/false vsftpd
不幸的是FTP工具或浏览器默认用的都是PASV模式连接FTP服务器。所以呢,我们需要使vsftpd在开启了防火墙的情况下也能够支持PASV模式进行数据访问。
用以下命令编辑vsftpd的配置文件:
sudo nano /etc/vsftpd/vsftpd.conf
在配置文件中, 找到以下配置项,并确保它们被设置为“YES”:
pasv_enable=YES
pasv_min_port=1024
pasv_max_port=1048
眼下我们需要配置防火墙,允许FTP流量通过。
用以下命令添加防火墙规则, 允许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 # 允许已建立的连接
sudo ufw allow 21/tcp # FTP控制端口
sudo ufw allow 20/tcp # FTP数据端口
确保防火墙规则已经生效,并且vsftpd服务正在运行:
sudo systemctl status vsftpd
你得能够看到FTP相关的端口已经被允许通过防火墙。
通过以上步骤,你能在Debian系统中成功配置vsftpd并通过防火墙允许FTP流量。希望这篇文章能帮你解决配置过程中的问题。
Demand feedback