问题
沿用练习一,通过调整FTP服务端配置,实现以下目标:
最多允许100个FTP并发连接
每个IP地址最多允许2个并发连接
匿名访问时,将速度限制为 50KB/s
用户登录访问时,将速度限制为 500KB/s
在客户机上通过ftp或wget验证上述限制
方案
关于vsftpd服务器的并发及带宽限制,主要用到以下配置参数:
max_clients:限制并发的客户端个数
max_per_ip:限制每个客户机IP的并发连接数
anon_max_rate:匿名最大速度(字节/秒)
local_max_rate:验证用户最大速率(字节/秒)
步骤
实现此案例需要按照如下步骤进行。
步骤一:限制并发连接数
1)修改vsftpd服务配置,在末尾添加并发限制并重载服务

[root@svr5 ~]# vim /etc/vsftpd/vsftpd.conf
.. ..
max_clients=100
max_per_ip=2[root@svr5 ~]# service vsftpd reload
关闭 vsftpd:                                              [确定]
为 vsftpd 启动 vsftpd:                                    [确定]

2)从客户机开多个FTP连接进行测试
访问vsftpd服务器时,只要客户端不主动断开连接,且闲置不超过300秒(默认),vsftpd服务器都会保留此连接。因此可以开多个命令终端同时登入此FTP服务器,以测试并发限制效果。
比如,从客户机pc205上匿名登入FTP服务器且不退出,前两次连接都是成功的,当第三次(超过2)连接时,会出现“There are too many connections … …”的报错提示,连接失败:

[root@svr5 ~]# ftp 192.168.4.5
Connected to 192.168.4.5 (192.168.4.5).
421 There are too many connections from your internet address.      //连接数超限
ftp> pwd
Not connected.                                  //未连接成功
ftp> quit

步骤二:限制FTP传输速度
1)修改vsftpd服务配置,在末尾添加速度限制,并重载服务

[root@svr5 ~]# vim /etc/vsftpd/vsftpd.conf
.. ..
anon_max_rate=50000
local_max_rate=500000[root@svr5 ~]# service vsftpd reload
关闭 vsftpd:                                              [确定]
为 vsftpd 启动 vsftpd:                                    [确定]

2)在匿名FTP起始目录、用户lisi的家目录下建立下载测试文件
为了方便看到效果,建立的测试文件可以稍大一点(比如100MB)。直接使用dd命令生成相应的文件即可:

[root@svr5 ~]# dd  if=/dev/zero  of=/var/ftp/pub/anon.tgz  bs=1M  count=100
.. ..
[root@svr5 ~]# dd  if=/dev/zero  of=~lisi/local.tgz  bs=1M  count=100
.. ..
[root@svr5 ~]# ls  -lh  /var/ftp/pub/anon.tgz  ~lisi/local.tgz         //确认结果
-rw-r--r--. 1 root root 100M 1月  15 15:12 /home/lisi/local.tgz
-rw-r--r--. 1 root root 100M 1月  15 15:12 /var/ftp/pub/anon.tgz

3)使用wget命令下载上述文件,观察稳定以后的速度
匿名访问下载测试文件anon.tgz,速度稳定在50KB/s左右:

[root@pc205 ~]# wget  ftp://192.168.4.5/pub/anon.tgz
--2015-01-15 15:14:52--  ftp://192.168.4.5/pub/anon.tgz=> “anon.tgz”
正在连接 192.168.4.5:21... 已连接。
正在以 anonymous 登录 ... 登录成功!
==> SYST ... 完成。    ==> PWD ... 完成。
==> TYPE I ... 完成。  ==> CWD (1) /pub ... 完成。
==> SIZE anon.tgz ... 104857600
==> PASV ... 完成。    ==> RETR anon.tgz ... 完成。
长度:104857600 (100M) (非正式数据).. ..
0% [                          ] 601,408     49.9K/s eta(英国中部时间) 34m 55s

!!! 必要时,可按Ctrl+c键中止下载,不需要等全部下完
以用户lisi访问下载测试文件local.tgz,速度稳定在500KB/s左右:

[root@pc205 ~]# wget  ftp://lisi:1234567@192.168.4.5/local.tgz
--2015-01-15 15:21:29--  ftp://lisi:*password*@192.168.4.5/local.tgz=> “local.tgz”
正在连接 192.168.4.5:21... 已连接。
正在以 lisi 登录 ... 登录成功!
==> SYST ... 完成。    ==> PWD ... 完成。
==> TYPE I ... 完成。  ==> 不需要 CWD。
==> SIZE local.tgz ... 104857600
==> PASV ... 完成。    ==> RETR local.tgz ... 完成。
长度:104857600 (100M) (非正式数据).. ..
0% [                          ] 868,352      503K/s eta(英国中部时间) 34m 55s

4)取消vsftpd服务的速度限制,再次测试下载效果
修改vsftpd.conf配置文件,将此前添加的限制下载速度的配置语句注释(或删除),并重载服务:

[root@svr5 ~]# vim /etc/vsftpd/vsftpd.conf
.. ..
#anon_max_rate=50000
#local_max_rate=500000[root@svr5 ~]# service vsftpd reload
关闭 vsftpd:                                              [确定]
为 vsftpd 启动 vsftpd:                                    [确定]

再次使用wget下载测试文件anon.tgz,会发现速度已不受服务端限制,而是取决于实际的网络带宽:

[root@pc205 ~]# wget  ftp://192.168.4.5/pub/anon.tgz
--2015-01-15 15:29:08--  ftp://192.168.4.5/pub/anon.tgz=> “anon.tgz”
正在连接 192.168.4.5:21... 已连接。
正在以 anonymous 登录 ... 登录成功!
==> SYST ... 完成。    ==> PWD ... 完成。
==> TYPE I ... 完成。  ==> CWD (1) /pub ... 完成。
==> SIZE anon.tgz ... 104857600
==> PASV ... 完成。    ==> RETR anon.tgz ... 完成。
长度:104857600 (100M) (非正式数据)86% [==========================>         ] 90,344,032  28.2M/s eta(英国中部时100%[=============================================================>] 104,857,600 31.8M/s   in 3.1s    2015-01-15 15:29:12 (31.8 MB/s) - “anon.tgz” 已保存 [104857600]

LINUX FTP并发及带宽限制相关推荐

  1. FTP并发及带宽限制

    3.FTP并发及带宽限制 问题 沿用练习一,通过调整FTP服务端配置,实现以下目标: 最多允许100个FTP并发连接 每个IP地址最多允许2个并发连接 匿名访问时,将速度限制为 50KB/s 用户登 ...

  2. Linux FTP并发连接及带宽限制

    问题 沿用练习一,通过调整FTP服务端配置,实现以下目标: 最多允许100个FTP并发连接 每个IP地址最多允许2个并发连接 匿名访问时,将速度限制为 50KB/s 用户登录访问时,将速度限制为 50 ...

  3. Linux FTP用户设置与宽带限制

    2.用户禁锢.黑白名单 问题 沿用练习一,通过调整FTP服务端配置,实现以下目标: 1)将FTP用户禁锢在各自的宿主目录下,阻止其切换到其他的文件夹 2)通过/etc/vsftpd/ftpusers ...

  4. Linux 高并发服务器开发

    该文章是通过观看牛客网的视频整理所得,以及在实践过程中遇到的问题及解决方案的整理总结. Linux 高并发服务器开发 linux 系统编程 linux 环境的搭建 环境搭建需要的软件 虚拟机中安装 u ...

  5. Linux高并发服务器开发---笔记4(网络编程)

    0705 第4章 项目制作与技能提升 4.0 视频课链接 4.1 项目介绍与环境搭建 4.2 Linux系统编程1.4.3 Linux系统编程2 4.4 多进程 1-9 10.进程间通信☆☆☆ 4.5 ...

  6. ftp文件服务器登录日志,linux ftp服务器日志

    linux ftp服务器日志 内容精选 换一换 为加强对系统数据的容灾管理,云堡垒机支持配置日志备份,提高审计数据安全性和系统可扩展性.本小节主要介绍如何在系统配置FTP/SFTP服务器参数,将日志远 ...

  7. linux 关闭开机 ftp,解决linux ftp匿名上传、下载开机自启问题

    如果在平时学习,工作中经常使用 ftp 服务器 ,可以设置成开机自启,在设置之前要先了解几个关于自启的命令: 1.chkconfig 命令 主要作用:用于检查,设置系统的各种服务.其中有几个重要参数, ...

  8. linux FTP服务器访问权限的问题

    当我们搭建好一个FTP服务器后,接下去的工作就是要对这个服务器进行权限的管理与设置.因为这项工作直接关系到FTP服务器上文件的安全,关系到FTP服务器运行的稳定.所以,作为企业的网络管理员,不能够忽视 ...

  9. linux终端传文件,如何使用Linux FTP命令传输文件

    FTP(文件传输协议)是一种标准的网络协议,用于在远程网络之间传输文件. 在本教程中,我们将通过实际示例向您展示如何使用Linux ftp命令. 在大多数情况下,您将使用桌面FTP客户端连接到远程服务 ...

最新文章

  1. 客快物流大数据项目(十五):DockeFile常用命令
  2. leetcode算法题--和为s的连续正数序列
  3. git 清空所有commit记录
  4. 99 网络编程_传统网络工程师如何利用python实现公司内网IP地址信息查询?
  5. python场景识别_python 场景
  6. linux中的 127.0.0.1和0.0.0.0和::
  7. 函数(八)-函数和匿名函数
  8. ea6700梅林固件
  9. Form表单 jQuery 文件上传
  10. 请教问题:ckeditor脚本错误“Error:例外被抛出且未被接住”[已解决]
  11. php 获取服务器端口,PHP获取当前服务器详细信息
  12. c语言逻辑运算符用法大全,【学习笔记】【C语言】逻辑运算符
  13. 程序员除了去上班还能怎样赚钱?
  14. ASP.NET 抓取网页源文件
  15. 三行代码,使用第三方网站统计访客数据
  16. 2021 年最佳 3D 渲染 GPU
  17. BLDC在3D风扇屏(全息风扇屏原理)上的应用----Trinamic(TMC)解决方案
  18. 仿微信清理内存图表动画(解决surfaceView闪烁问题)
  19. URAL 1517. Freedom of choice (后缀数组)
  20. Node.js Buffers缓存对象

热门文章

  1. Python爬虫:爬取网络流行词制作词云
  2. bootstrap select API
  3. chrome浏览器被hao123劫持如何解决?
  4. “科创板实施方案”获批!12家硬科技公司已在上海证监局备案上市辅导...
  5. CES Asia专题|视觉暂留黑科技,这款全息展示机有点酷
  6. 剑网3女玩家最多的服务器,《剑网3》为什么女玩家多?看完你就明白了
  7. proxmox的U盘制作
  8. 护士不出国,ISPN国际护士证RN考试对于在职护士有什么帮助?
  9. AspxGridView使用手记
  10. Apache+PHP环境搭建新手向教程