在 Linux 上限制 FTP 服务器速度,常见做法取决于你用的 FTP 服务端软件。下面按常见情况说明。
编辑配置文件(通常是 /etc/vsftpd.conf):
# 下载速度限制(字节/秒)
anon_max_rate=102400 # 匿名用户 100KB/s
local_max_rate=204800 # 本地用户 200KB/s
重启服务:
systemctl restart vsftpd
在 /etc/vsftpd/user_conf/ 下创建对应用户文件:
mkdir -p /etc/vsftpd/user_conf
vim /etc/vsftpd/user_conf/username
内容:
local_max_rate=51200
编辑 /etc/proftpd/proftpd.conf:
<Global>
TransferRate RETR 100 # 下载 100KB/s
TransferRate STOR 100 # 上传 100KB/s
</Global>
<Limit RATE>
UserLimit 100 user1
</Limit>
或:
<Directory /home/ftp>
TransferRate RETR 200
</Directory>
重启:
systemctl restart proftpd
启动参数方式:
pure-ftpd -t 100 -T 100
-t:上传限速(KB/s)-T:下载限速(KB/s)或用配置文件(取决于发行版):
TrustedIP 127.0.0.1
AnonymousCanCreateDirs no
适合整台机器或端口限速:
tc qdisc add dev eth0 root tbf rate 1mbit burst 32kbit latency 400ms
或限制 FTP 端口(21):
iptables -A INPUT -p tcp --dport 21 -m limit --limit 100/s -j ACCEPT
⚠️ 这种方式不够精细,一般不建议用于 FTP。
| 场景 | 推荐方式 |
|---|---|
| vsftpd | local_max_rate |
| proftpd | TransferRate |
| pure-ftpd | 启动参数 -t -T |
| 整机限速 | tc / iptables |
如果你能告诉我:
我可以给你更精确的配置示例。