温馨提示×

Debian vsftp怎样限速

小樊
40
2026-07-30 15:55:26
栏目: 智能运维

在 Debian 上用 vsftpd 做限速,主要通过配置 vsftpd.conf 里的限速参数来实现。下面给你一个常用、可落地的说明。


一、vsftpd 限速相关参数

编辑配置文件:

sudo nano /etc/vsftpd.conf

1️⃣ 全局限速(所有用户)

参数 含义 单位
anon_max_rate 匿名用户最大速度 字节/秒
local_max_rate 本地系统用户最大速度 字节/秒

示例(限制为 1MB/s):

local_max_rate=1048576
anon_max_rate=524288

1MB/s = 1048576 字节/秒
512KB/s = 524288 字节/秒


2️⃣ 按用户限速(推荐)

vsftpd 原生不支持直接按用户限速,但可以通过 user_config_dir 实现。

步骤:

1️⃣ 在配置文件中启用用户配置目录:

user_config_dir=/etc/vsftpd/user_conf

2️⃣ 创建目录:

sudo mkdir -p /etc/vsftpd/user_conf

3️⃣ 为指定用户创建配置文件(文件名=用户名):

sudo nano /etc/vsftpd/user_conf/testuser

内容示例(限制 500KB/s):

local_max_rate=512000

✅ 该用户登录后自动生效
✅ 不同用户可设置不同速度


二、重启 vsftpd 生效

sudo systemctl restart vsftpd

三、常见注意事项

✅ 1. 限速是 单连接限速

  • 一个 FTP 连接一个限速
  • 用户开多个连接会叠加(这是 FTP 特性)

✅ 2. 只影响数据传输,不影响控制连接

  • 登录、列目录不受限
  • 只限制上传/下载速度

✅ 3. 虚拟用户限速

如果你用的是 虚拟用户(PAM + passwd.db)

  • 虚拟用户属于 local_max_rate
  • 同样可以用 user_config_dir 按虚拟用户限速

四、示例组合配置(推荐)

local_max_rate=2097152        # 默认 2MB/s
anon_max_rate=524288          # 匿名 512KB/s
user_config_dir=/etc/vsftpd/user_conf

五、排查是否生效

  • 用 FTP 客户端下载文件
  • 观察速度是否稳定
  • 确认用户是否匹配配置

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

  • 系统用户 / 虚拟用户
  • 想限制 上传、下载还是都限
  • 是否要 按 IP 限速

我可以给你一个更精确的配置方案。

0