温馨提示×

linux ftpserver如何限制速度

小樊
43
2026-08-01 10:20:45
栏目: 智能运维

在 Linux 上限制 FTP 服务器速度,常见做法取决于你使用的 FTP 服务软件。下面按 最常用方案 给你说明,并附示例。


一、vsftpd(最常见)

✅ 使用 vsftpd 限速(推荐)

vsftpd 原生支持限速,通过以下参数控制:

1️⃣ 限制 单个用户 的下载/上传速度

编辑配置文件(通常是 /etc/vsftpd.conf):

# 下载速度(单位:字节/秒)
local_max_rate=102400     # 100KB/s
anon_max_rate=51200       # 匿名用户 50KB/s

说明:

  • local_max_rate:本地用户
  • anon_max_rate:匿名用户
  • 单位是 字节/秒

2️⃣ 针对 不同用户设置不同速度(进阶)

使用 用户配置目录

user_config_dir=/etc/vsftpd/user_conf

然后为每个用户创建配置文件:

mkdir -p /etc/vsftpd/user_conf

例如限制用户 testuser

vi /etc/vsftpd/user_conf/testuser

内容:

local_max_rate=204800

重启 vsftpd:

systemctl restart vsftpd

二、ProFTPD 限速

✅ 全局限速

编辑 /etc/proftpd/proftpd.conf

TransferRate RETR 100    # 下载 100KB/s
TransferRate STOR 80     # 上传 80KB/s

✅ 针对用户或组限速

<Directory /home/ftp>
    TransferRate RETR 200 user testuser
</Directory>

或按组:

TransferRate RETR 150 group ftpusers

重启服务:

systemctl restart proftpd

三、Pure-FTPd 限速

启动时加参数:

pure-ftpd -T 100        # 上传 100KB/s
pure-ftpd -t 200        # 下载 200KB/s

或同时限制:

pure-ftpd -t 200 -T 100

配置文件方式(取决于发行版):

echo "200" > /etc/pure-ftpd/conf/AnonymousBandwidth

四、使用 tc(内核级流量控制,通用但复杂)

适合 整台服务器IP 限速,不推荐初学者。

示例(限制 eth0 到 1Mbps):

tc qdisc add dev eth0 root tbf rate 1mbit burst 32kbit latency 400ms

⚠️ 配置复杂,重启失效,需配合脚本。


五、推荐方案总结

FTP 服务 推荐方式 难度
vsftpd local_max_rate
ProFTPD TransferRate ⭐⭐
Pure-FTPd 启动参数 / 配置
系统级 tc ⭐⭐⭐⭐

六、常见注意点

✅ 限速是 每个连接,不是每个用户
✅ 多并发连接会突破限制
✅ 速度单位是 字节/秒(B/s),不是 bit
✅ 修改配置后记得重启服务


如果你愿意,可以告诉我:

  • 使用的 FTP 软件(vsftpd / proftpd / pure-ftpd)
  • 是限制 上传 / 下载 / 用户 / IP
  • Linux 发行版(CentOS / Ubuntu / Debian)

我可以给你 精确可用的配置示例

0