相信有一部分linux管理员在建立ftp服务器后,由于同时在线用户太多,造成服务器占用大量带宽,以至影响网络中其它用户正常工作。为此,我今天研究了一下vsftp用户上传下载速度限制以及客户端数目控制功能。下面与大家分享下。这里我以匿名用户为例。

利用vsftp进行速率限制,需要了解几个配置参数

anon_max_rate 设置匿名用户每条连接最大上传或下载速率

local_max_rate 设置本地用户每条连接最大上传或下载速率

max_per_ip 设置每个用户允许连接最大连接数,即每台电脑同时可以打开几个ftp连接

max_clients 设置允许同时连接服务器最大客户端数

以下是实际测试效果:

anon_max_rate=20000,即大约20kb/s。

max_per_ip=3,即每个ip同时允许打开三个连接。

max_clients=3,即同时允许3个客户端连接。

1,当我注销anon_max_rate时(即不限速),客户端连接测试结果如下:

    当我开启anon_max_rate时,用一台客户机且只开启一个ftp连接测试效果如下:

由此可看出,anon_max_rate=20000是生效的。速率控制在20kb/s左右。

2,当我用一台客户机同时开启两个ftp连接效果如下:

由上可以看到,开启两条连接,每条连接的速率均为26kb/s。说明anon_max_rate=20000是指每个IP中每条连接的速率约为20kb/s,而不是每个IP地址的总速率为20kb/s。

3,当我用一台客户机同时打开四个连接,得到结果如下:

当建立第四条ftp连接时,提示有太多连接用户。服务器拒绝建立新的连接。说明max_per_ip=3是生效的。

4,我通过远程桌面同时打开四台客户端连接ftp服务器,测试效果如下:

 

第四台客户端打开时,显示拒绝连接。说明max_client=3是生效的。

通过以上实验,相信大家对这几个参数比较了解了吧。

存在的问题:这个限速好像并不是太准确,按理说应该最高20kb/s的,不知道为何达到了26kb/s。有知道的帮我解答下吧。