温馨提示×

linux ftpserver怎样限速

小樊
37
2026-09-08 06:07:19
栏目: 智能运维

在 Linux 上搭建 FTP 服务器并做限速,常见做法取决于你使用的 FTP 软件。下面按常用方案说明。


一、vsftpd(最常用)

1. 全局限速(对所有用户)

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

# 单位:Bytes/s
local_max_rate=102400        # 本地用户最大 100KB/s
anon_max_rate=51200          # 匿名用户最大 50KB/s

重启服务:

systemctl restart vsftpd

2. 针对单个用户限速

在 vsftpd.conf 中启用用户配置目录:

user_config_dir=/etc/vsftpd/user_conf

为指定用户创建配置文件:

mkdir -p /etc/vsftpd/user_conf
vi /etc/vsftpd/user_conf/testuser

内容:

local_max_rate=204800

二、ProFTPD

1. 全局限速

编辑 /etc/proftpd/proftpd.conf:

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

单位默认是 KB/s。


2. 按用户/组限速

<Limit READ>
  TransferRate user1 50
</Limit>

<Class limited>
  From 192.168.1.0/24
</Class>

<Limit ALL>
  TransferRate 30
  Class limited
</Limit>

重启:

systemctl restart proftpd

三、Pure-FTPd

启动参数方式:

pure-ftpd -t 100 -T 80
  • -t:上传限速(KB/s)
  • -T:下载限速(KB/s)

或配置文件中:

TrustedIP 192.168.1.100
LimitRecv 100
LimitSend 80

四、系统级限速(不推荐但可用)

使用 tc 或 wondershaper 限制网卡/端口速率(粗粒度):

wondershaper eth0 1000 1000

五、注意事项

  • vsftpd 的 max_rate 是 每连接,不是每用户
  • 多线程下载可能突破限速
  • 限速单位不同软件不同(vsftpd 是 Byte/s,ProFTPD 是 KB/s)

如果你能告诉我:

  • 使用的 FTP 软件
  • 是匿名 / 本地用户 / 虚拟用户
  • 想限制上传、下载还是两者

我可以给你精确配置示例。

0 踩