在 Ubuntu 上限制 FTP / FTPS 服务器带宽,常见做法有以下几种,按“简单 → 专业”排列,你可以根据使用的 FTP 服务端选择。
如果你用的是 vsftpd(Ubuntu 默认常见 FTP 服务):
sudo nano /etc/vsftpd.conf
# 匿名用户限速(字节/秒)
anon_max_rate=50000
# 本地用户限速(字节/秒)
local_max_rate=100000
示例说明:
50000 ≈ 50 KB/s100000 ≈ 100 KB/ssudo systemctl restart vsftpd
✅ 优点:简单、稳定
❌ 缺点:只能统一限速,不能按 IP/时间动态限制
如果你使用的是 proftpd:
sudo apt install proftpd-core
编辑:
/etc/proftpd/proftpd.conf
示例:
<IfModule mod_xfer.c>
TransferRate RETR 100 # 下载 100 KB/s
TransferRate STOR 80 # 上传 80 KB/s
</IfModule>
重启:
sudo systemctl restart proftpd
适合 FTPS / 被动模式端口多 的情况。
sudo tc qdisc add dev eth0 root tbf rate 1mbit burst 32kbit latency 400ms
解除限制:
sudo tc qdisc del dev eth0 root
⚠️ 配置较复杂,适合运维场景
sudo apt install wondershaper
sudo wondershaper eth0 1024 512
限制:
如果是 FTPS(FTP over SSL):
local_max_rate 对 FTPS 同样有效| 场景 | 推荐方式 |
|---|---|
| 普通 FTP | vsftpd local_max_rate |
| FTPS | vsftpd + 限速 |
| 多用户不同限速 | proftpd |
| 整机/端口限速 | tc / wondershaper |
如果你能告诉我:
我可以给你一份精确配置示例。