在 CentOS 上搭建 FTP 服务器(常见为 vsftpd),限制速度主要有以下几种方式,最常用的是 vsftpd 自带限速参数。
vi /etc/vsftpd/vsftpd.conf
# 匿名用户最大速度(字节/秒)
anon_max_rate=102400
# 本地用户最大速度(字节/秒)
local_max_rate=512000
示例说明:
102400 ≈ 100 KB/s512000 ≈ 500 KB/ssystemctl restart vsftpd
✅ 这是全局限制,对所有用户生效。
在 vsftpd.conf 中:
user_config_dir=/etc/vsftpd/user_conf
mkdir -p /etc/vsftpd/user_conf
例如限制用户 testuser:
vi /etc/vsftpd/user_conf/testuser
内容:
local_max_rate=204800
systemctl restart vsftpd
如果你希望从网络层限制某 IP 或网卡速度,可使用 tc,但配置复杂,一般 FTP 场景不需要。
如果你用的是 ProFTPD:
<Limit RATE>
RateKbps 500
</Limit>
| 场景 | 推荐方式 |
|---|---|
| 所有用户统一限速 | vsftpd local_max_rate |
| 不同用户不同速度 | user_config_dir |
| 简单稳定 | vsftpd |
如果你是 CentOS 7 / 8 / Stream,以上方法均适用。
如果你用的是 Pure-FTPd 或其他 FTP 服务,也可以告诉我,我可以给你对应方案。