在 Debian 下使用 vsftpd 限制 FTP 用户带宽,主要通过 vsftpd 自带的限速参数来实现,而不是用系统工具(如 tc)。下面按常见场景说明。
编辑 vsftpd 配置文件(通常是 /etc/vsftpd.conf):
sudo nano /etc/vsftpd.conf
加入或修改以下参数(单位是 字节/秒):
# 匿名用户下载限速
anon_max_rate=50000
# 本地用户下载限速
local_max_rate=100000
示例含义:
50000 ≈ 50 KB/s100000 ≈ 100 KB/s修改后重启 vsftpd:
sudo systemctl restart vsftpd
vsftpd 支持 每用户配置,非常实用。
在 /etc/vsftpd.conf 中:
user_config_dir=/etc/vsftpd/user_conf
创建目录:
sudo mkdir -p /etc/vsftpd/user_conf
例如限制用户 tom:
sudo nano /etc/vsftpd/user_conf/tom
写入:
local_max_rate=200000
表示 tom 最大 200 KB/s。
重启服务:
sudo systemctl restart vsftpd
vsftpd 不能直接区分上传/下载速率,但:
local_max_rate:同时限制上传和下载tc(流量控制)proftpd / pure-ftpd从客户端下载文件,观察速度:
ftp your.server.ip
或使用 wget / curl 测试。
listen_ipv6=YES,确认配置没冲突如果你愿意,可以告诉我:
我可以给你一份可直接用的配置文件。