在 Debian 下使用 vsftpd 限制 FTP 带宽,可以通过 vsftpd 自带限速参数 来实现,简单有效。下面按常见需求说明。
vsftpd 支持 上传 / 下载带宽限制,单位是 字节/秒(Byte/s)。
编辑配置文件:
sudo nano /etc/vsftpd.conf
加入或修改以下参数:
# 限制匿名用户下载速度(字节/秒)
anon_max_rate=102400
# 限制本地用户下载速度(字节/秒)
local_max_rate=102400
| 配置 | 含义 |
|---|---|
102400 |
100KB/s |
1048576 |
1MB/s |
0 |
不限制(默认) |
⚠️ 注意:是 Byte/s,不是 bit/s
1Mbps ≈ 125000 Byte/s
anonymous_enable=YES
anon_max_rate=51200
local_enable=YES
local_max_rate=204800
vsftpd 支持 基于用户单独限速。
user_config_diruser_config_dir=/etc/vsftpd/user_conf
sudo mkdir -p /etc/vsftpd/user_conf
例如限制用户 testuser 为 200KB/s:
sudo nano /etc/vsftpd/user_conf/testuser
内容:
local_max_rate=204800
✅ 每个用户一个文件,灵活控制
vsftpd 没有单独的上传限速参数,但:
local_max_rate / anon_max_rate如需更精细控制,需借助 tc(流量控制) 或 防火墙层限速(较复杂)。
修改完成后重启 vsftpd:
sudo systemctl restart vsftpd
检查状态:
sudo systemctl status vsftpd
使用 FTP 客户端上传/下载文件,观察速度是否被限制。
✅ vsftpd 限速是 单连接限速
✅ 多连接可叠加(客户端多线程下载)
✅ 不适合做复杂 QoS,仅适合基础限速
可以考虑:
tc(Linux Traffic Control)proftpd(支持更细粒度限速)如果你愿意,可以告诉我:
我可以帮你写一份 完整可直接用的 vsftpd 配置。