温馨提示×

Debian vsftp如何限速

小樊
38
2026-08-15 05:36:01
栏目: 智能运维

Debian + vsftpd 中限制 FTP 传输速度,主要通过 vsftpd 的限速参数 来实现。下面按常见需求说明。


一、通过 vsftpd 配置文件限速(推荐)

编辑 vsftpd 配置文件:

sudo nano /etc/vsftpd.conf

1️⃣ 限制 匿名用户 速度

anon_max_rate=50000

表示 50 KB/s(单位是 字节/秒


2️⃣ 限制 本地用户(系统用户) 速度

local_max_rate=100000

表示 100 KB/s


3️⃣ 对 单个用户 单独限速(更常用)

vsftpd 不支持在配置文件中按用户写不同速率,但可以通过 用户配置文件 实现。

方法:使用 user_config_dir

1️⃣ 在配置文件中启用:

user_config_dir=/etc/vsftpd/user_conf

2️⃣ 创建目录:

sudo mkdir -p /etc/vsftpd/user_conf

3️⃣ 为每个用户创建配置文件(文件名 = 用户名)

例如限制用户 ftpuser1 为 200KB/s:

sudo nano /etc/vsftpd/user_conf/ftpuser1

内容:

local_max_rate=204800

二、限速单位说明

⚠️ vsftpd 速率单位是 字节/秒(Byte/s)

换算示例:

限速 配置值
50 KB/s 51200
100 KB/s 102400
1 MB/s 1048576
10 MB/s 10485760

三、限制连接数(防止滥用)

虽然不是限速,但常一起使用:

max_clients=50
max_per_ip=2

四、应用配置

修改完成后重启 vsftpd:

sudo systemctl restart vsftpd

五、验证是否生效

  1. 使用 FTP 客户端(FileZilla、lftp)下载文件
  2. 观察速度是否被限制
  3. 查看日志(可选):
sudo tail -f /var/log/vsftpd.log

六、⚠️ 常见坑

  • anon_max_rate本地用户无效
  • local_max_rate匿名用户无效
  • ✅ 单用户限速必须用 user_config_dir
  • ✅ 配置修改后必须重启 vsftpd
  • ✅ 防火墙 / 云厂商限速不影响 vsftpd

七、推荐配置示例(生产环境)

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_max_rate=512000
user_config_dir=/etc/vsftpd/user_conf
max_clients=50
max_per_ip=2

如果你愿意,可以告诉我:

  • 是否需要 匿名 / 本地用户
  • 目标限速(KB/s 或 MB/s)
  • 是否是 公网 FTP

我可以帮你直接生成一份 完整可用的 vsftpd.conf

0