PureFTPd的全局带宽限制
创始人
2024-07-22 06:41:49
0

Pureftpd是一款快速,高质量,功能齐全的ftp服务器,最重要的是可以支持设置客户端默认编码,Pureftpd非常强大非常好用。给大家讲解下PureFTPd的全局带宽限制方面的知识,请看下文。

  如何限制FTP占用的总的带宽?

  Pure-FTPd可以限制每个会话占用的带宽.不过,限制总的带宽是故意不添加的一种功能,因为大部分的操作系统已经有了有效的算法来处理带宽限制.

  下面是Linux上的一个例子.

  1)查看/proc/sys/net/ipv4/ip_local_port_range文件.可以看到两个数字:这就是Linux内核处理外界连接的时候使用的本地端口的范围.你希望为被动模式FTP保留的FTP端口一定不能在这个范围内.所以,如果:

  "cat /proc/sys/net/ipv4/ip_local_port_range"返回"32768-61000",那么你可保 留端口10000到20000给FTP服务器,而不是30000-40000.(同样,你也可以选择改编本 地的端口范围).

  2)更改前面的那些行,保存下面的脚本.

  #! /bin/sh

  #简单的带宽限制--英文原本作者j@4u.net

  #将下面的数据更改为你的连接带宽

  #(对于等用户,写上你可能得到的***带宽,而不是本地以太网连接的速度.)

  REAL_BW='10Mbit'

  #将下面的数据改为你想给FTP分配的带宽

  #我们使用的带宽单位都是megabits,不是megabytes,所以80Kbit就是10 Kilobytes/s

  FTP_BW='80Kbit'

  #将下面的数据改为你的物理设备(或者'ppp0')

  NIC='eth0'

  #将下面的数据改为你给被动FTP分配的端口范围

 

  1.   FTP_PORT_LOW="10000" 
  2.  
  3.   FTP_PORT_HIGH="20000" 
  4.  
  5.   tc qdisc add dev "$NIC" root handle 1: cbq \  
  6.  
  7.   bandwidth "$REAL_BW" avpkt 1000  
  8.  
  9.   tc class add dev "$NIC" parent 1: classid 1:1 cbq bandwidth "$REAL_BW" \  
  10.  
  11.   rate "$REAL_BW" maxburst 5 avpkt 1000  
  12.  
  13.   tc class add dev "$NIC" parent 1:1 classid 1:10 cbq \  
  14.  
  15.   bandwidth "$REAL_BW" rate "$FTP_BW" maxburst 5 avpkt 1000 bounded  
  16.  
  17.   tc qdisc add dev "$NIC" parent 1:10 sfq quantum 1514b  
  18.  
  19.   tc filter add dev "$NIC" parent 1: protocol ip handle 1 fw flowid 1:10  
  20.  
  21.   iptables -t mangle -A OUTPUT -p tcp --sport 20:21 -j MARK --set-mark 1  
  22.  
  23.   iptables -t mangle -A OUTPUT -p tcp \  
  24.  
  25.   --sport "$FTP_PORT_LOW":"$FTP_PORT_HIGH" -j MARK --set-mark 1  

 

  3)确保你已经安装了'tc'命令.要是你的发行版不提供'ip'和'tc'命令,脚本就无法 运行,要使用这两个命令,你得安装一个叫做'iproute2'的软件包.

  4)加上你给定的被动端口范围,启动Pure-FTPd.

  /usr/local/sbin/pure-ftpd -p 10000:20000 -HBA

  5)运行第二步的时候建立的脚本.要是脚本无法运行,那就检查QOS支持是否编译进了你的Linux内核.

  6) Enjoy :)

  也可以参考:

  http://www.docum.org

  http://www.shorewall.net/traffic_shaping.htm and

  http://talk.trekweb.com/~jasonb/articles/linux_tc_minihowto.shtml

通过上文的介绍和例子,我们可以清楚的知道如何进行PureFTPd的全局带宽限制。希望本文对大家有所帮助!

【编辑推荐】

  • PureFTPd之Windows命令行FTP客户端和ls
  • 如何在后台启动Pure-FTPd
  • pure-ftpd中的两种chroot方法
  • PureFTPd 基本安装
  • PureFTPd 问题之KERBEROS_V4被拒绝和错误的组所有权
  • Pureftpd问题集之密码和pure-pw脚本
  • 用pureftpd在slackware 10.1下架设带web管理的ftp服务器

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...