您的位置:首页 >vsftp带宽限制:如何控制上传下载速度
发布于2026-04-25 阅读(0)
扫一扫,手机访问

其实,用好vsftpd内置的几个参数就能轻松实现限速,关键在于理解它的生效逻辑。核心参数就两个:local_max_rate(针对本地用户,单位是字节/秒)和anon_max_rate(针对匿名用户,单位也是字节/秒)。
这里有个关键点必须厘清:vsftpd的限速是“每条连接”粒度的,而不是“每个用户”或“每个IP”的总速率。这意味着什么呢?举个例子,如果你把匿名用户限速设为20000(约20 KB/s),那么单个客户端建立的每一条连接,其速度上限就是20 KB/s。如果同一个客户端同时开启了5条连接,它的总下载速度理论上就能接近100 KB/s。
所以,要想避免单个用户或IP占用过多资源,通常需要配合另外两个参数:max_per_ip(限制每个IP能建立的最大连接数)和max_clients(限制全局最大客户端数)。这样一来,就能从连接数和单连接速度两个维度,更有效地管理带宽了。
理论清楚了,动手配置就简单了。下面提供两种最常用的方案。
/etc/vsftpd/vsftpd.conf。local_max_rate=102400anon_max_rate=51200max_per_ip=3(每IP最多3条连接)、max_clients=20(全局最多20个客户端)systemctl restart vsftpd 使配置生效。如果需要对不同本地用户设置不同的速度上限,这个方案更灵活。
vsftpd.conf 中添加一行:user_config_dir=/etc/vsftpd/user_conf。/etc/vsftpd/user_conf/john,并在里面写入:local_max_rate=204800(这意味着john的单连接速度上限是200 KB/s)。systemctl restart vsftpd。anon_max_rate 参数来控制。有时候,vsftpd自身的限速机制可能无法满足所有需求。比如,你需要限制“每个IP的总带宽”,而不仅仅是“每条连接”的速度。这时候,就得借助系统层面的工具了。
trickle -d 100 -u 50 vsftpd,就能限制vsftpd进程整体的下载速度为100 KB/s,上传速度为50 KB/s。它特别适合临时性的压测,或者在不方便修改配置文件的环境下快速使用。话说回来,之所以需要这些进阶方案,根本原因在于vsftpd原生不支持“每用户或每IP的总速率”聚合限速。如果你的场景必须实现这个效果,那么正确的思路就是:要么在系统层用tc按IP限总速,要么在应用层用trickle按进程限总速。
配置过程中,难免会遇到一些小麻烦。下面这几个坑,提前了解一下能省不少事。
max_per_ip 来限制单个IP的并发连接数?加上它,就能有效防止单个用户占满带宽。102400,代表的就是100 KB/s。你在客户端或监控工具里看到的KB/s、MB/s,那是显示单位的差异,配置时别被它误导。/etc/vsftpd/vsftpd.conf);2) 确认执行了 systemctl restart vsftpd 重启服务;3) 如果是按用户限速,确保 user_config_dir 路径正确,并且里面的配置文件文件名必须和用户名完全一致。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
9