在 Debian 上用 vsftpd 限速,主要通过配置 vsftpd.conf 实现。下面给你常用、实用的限速方式(含示例)。
编辑配置文件:
sudo nano /etc/vsftpd.conf
anon_max_rate=0
local_max_rate=102400
含义:
local_max_rate:本地用户(系统用户)最大下载速度,单位是 byte/sanon_max_rate:匿名用户最大下载速度102400 = 100KB/s✅ 常用换算:
| 速度 | 配置值 |
|---|---|
| 100 KB/s | 102400 |
| 500 KB/s | 512000 |
| 1 MB/s | 1048576 |
| 10 MB/s | 10485760 |
vsftpd 没有单独的上传限速参数,但:
✅ 上传速度 = 下载速度 (因为 FTP 是单连接限速)
所以:
local_max_rate=512000
会同时限制上传和下载。
不想所有用户一个速度,可以用 用户配置目录。
user_config_dir=/etc/vsftpd/user_conf
sudo mkdir -p /etc/vsftpd/user_conf
例如限制用户 ftpuser1 为 200KB/s:
sudo nano /etc/vsftpd/user_conf/ftpuser1
内容:
local_max_rate=204800
✅ 用户登录后自动使用该限速
anonymous_enable=YES
anon_max_rate=51200
➡ 匿名用户最大 50KB/s
sudo systemctl restart vsftpd
查看状态:
sudo systemctl status vsftpd
✅ vsftpd 不支持按 IP / 目录限速
✅ 限速是 单连接限速,多线程下载会叠加
✅ 速度单位是 byte/s,不是 bit/s
✅ 修改配置后必须重启 vsftpd
local_enable=YES
write_enable=YES
local_umask=022
local_max_rate=1048576
anon_max_rate=102400
user_config_dir=/etc/vsftpd/user_conf
如果你愿意,可以告诉我:
我可以帮你直接写一份完整的 vsftpd.conf ✅