温馨提示×

centos ftpserver怎么限流

小樊
40
2026-10-23 14:36:21
栏目: 智能运维

在 CentOS 上搭建 FTP 服务器(常见的是 vsftpd),“限流”通常包含两类需求:

  1. 带宽限速(限制上传/下载速度)
  2. 连接数限制(限制并发连接、单 IP 连接数)

下面以 vsftpd(最常用) 为例说明。


一、vsftpd 带宽限速(最常用)

1. 安装 vsftpd

yum install vsftpd -y
systemctl enable vsftpd
systemctl start vsftpd

2. 全局限速(所有用户)

编辑配置文件:

vi /etc/vsftpd/vsftpd.conf

添加或修改:

# 下载速度限制(字节/秒)
anon_max_rate=102400        # 匿名用户 100KB/s
local_max_rate=512000       # 本地用户 500KB/s

单位:字节/秒(B/s)

3. 针对单个用户限速(推荐)

vi /etc/vsftpd/vsftpd.conf

确保:

user_config_dir=/etc/vsftpd/user_conf

创建目录:

mkdir -p /etc/vsftpd/user_conf

为用户 test 单独限速:

vi /etc/vsftpd/user_conf/test

内容:

local_max_rate=204800

重启服务:

systemctl restart vsftpd

二、连接数 & 并发限制

1. 限制总连接数

max_clients=50

2. 限制单 IP 连接数

max_per_ip=3

3. 限制匿名用户

anon_max_rate=102400
max_clients=10

三、使用 iptables / firewalld 限制(IP 级限流)

如果你是想 在系统层限流(不是 FTP 应用层),可以用 tc 或 iptables 限速,但一般不推荐用于 FTP。

示例(iptables 简单限速):

iptables -A INPUT -p tcp --dport 21 -m limit --limit 10/s -j ACCEPT

四、使用 proftpd(备选方案)

如果你用的是 proftpd:

<Limit RATE>
  RateKbPS 500
</Limit>

五、常见建议配置示例

local_max_rate=512000
anon_max_rate=102400
max_clients=100
max_per_ip=2

六、验证是否生效

ftp localhost

或用浏览器/FileZilla 下载测试速度。


如果你能告诉我:

  • 用的 vsftpd / proftpd / pure-ftpd
  • 想限 上传、下载、连接数
  • 是否 按用户限流

我可以给你更精确的配置。

0 踩