在 Ubuntu 上限制 FTPServer(FTP/FTPS)带宽,常见做法有几种,取决于你用的是什么 FTP 服务软件。下面以最常见的 vsftpd 和 ProFTPD 为例说明。
vsftpd 本身支持限速参数:
编辑配置文件(通常是 /etc/vsftpd.conf):
sudo nano /etc/vsftpd.conf
添加或修改以下参数(单位是 字节/秒):
# 匿名用户最大速度
anon_max_rate=102400
# 本地用户最大速度
local_max_rate=512000
示例:
102400 = 100 KB/s512000 = 500 KB/s保存后重启服务:
sudo systemctl restart vsftpd
✅ 优点:简单、稳定
❌ 缺点:只能按“用户类型”限速,不能精细到 IP
编辑 /etc/proftpd/proftpd.conf:
TransferRate RETR 100
TransferRate STOR 100
单位:KB/s
<Directory /home/ftp>
TransferRate RETR 200
TransferRate STOR 200
</Directory>
或针对用户:
<Limit ALL>
TransferRate RETR 300
</Limit>
重启服务:
sudo systemctl restart proftpd
如果你希望 所有 FTP 流量统一限速(包括 FTPS、SFTP 混合环境),可以用 tc 或 wondershaper。
sudo apt install wondershaper
sudo wondershaper eth0 1000 1000
pam_limitstc 限速| 场景 | 推荐方式 |
|---|---|
| 普通 vsftpd | local_max_rate |
| 多用户精细控制 | ProFTPD |
| 服务器整体限速 | tc / wondershaper |
| 云服务器防止跑满 | 系统级限速 |
如果你愿意,可以告诉我:
我可以直接给你一份可复制的配置。