在 Ubuntu 上搭建 FTP 服务器时,常用的有 vsftpd 和 ProFTPD。下面分别说明如何限制 FTP 传输速度。
sudo apt update
sudo apt install vsftpd
编辑配置文件:
sudo nano /etc/vsftpd.conf
添加或修改以下参数(单位是 字节/秒):
# 匿名用户最大速度
anon_max_rate=102400
# 本地用户最大速度
local_max_rate=512000
示例说明:
102400 ≈ 100 KB/s512000 ≈ 500 KB/s保存后重启服务:
sudo systemctl restart vsftpd
例如限制用户 ftpuser 为 200 KB/s:
sudo mkdir -p /etc/vsftpd
echo "local_max_rate=204800" | sudo tee /etc/vsftpd/ftpuser
在 vsftpd.conf 中启用:
user_config_dir=/etc/vsftpd
重启服务即可。
sudo apt install proftpd
编辑配置文件:
sudo nano /etc/proftpd/proftpd.conf
添加:
TransferRate STOR 100
TransferRate RETR 100
单位是 KB/s
<Limit STOR RETR>
UserLimit ftpuser 200
</Limit>
或:
<IfUser ftpuser>
TransferRate STOR 200
TransferRate RETR 200
</IfUser>
重启服务:
sudo systemctl restart proftpd
如果是 Docker 或容器环境,也可以用 tc 或 wondershaper 限制网卡速度,但不如 FTP 服务自带配置精确。
| 方式 | 适用场景 |
|---|---|
vsftpd local_max_rate |
最常用、简单 |
vsftpd user_config_dir |
多用户不同限速 |
ProFTPD TransferRate |
灵活规则 |
如果你告诉我:
我可以帮你写一份可直接用的配置。