PureFTPd的全局带宽限制

系统 Linux
Pureftpd是一款在多种类Unix上使用并符合GPL协议的原代码开放的软件,顾名思义,它就是一款纯粹的Ftp程序。今天为大家带来的是PureFTPd的全局带宽限制方面的知识。

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的全局带宽限制。希望本文对大家有所帮助!

【编辑推荐】

责任编辑:赵鹏 来源: 网络转载
相关推荐

2011-03-03 15:30:18

PureFTPd

2018-07-24 16:20:50

WindowsWindows 10带宽

2023-06-28 08:29:29

Direct3D工作图功能

2011-03-03 11:13:11

Pureftpd

2011-03-02 13:33:44

Pureftpd.co

2011-02-24 14:45:37

pureftpd安装文档

2011-02-24 14:45:37

pureftpd安装文档

2011-03-03 15:09:30

PureFTPdFAQ

2011-02-25 16:22:34

2011-03-02 13:16:33

Pureftpd

2018-10-08 10:02:52

LinuxWondershape网络带宽

2011-10-08 13:29:28

QoSDSCP广域网

2018-09-14 08:00:00

LinuxWondershape网络带宽

2015-05-29 09:44:03

Trickle应用程序

2011-02-23 14:05:57

2011-03-03 14:16:48

PureFTPd

2011-03-03 09:34:34

PureFTPd

2009-12-22 15:39:36

IPPBX技术

2011-02-25 17:49:21

2011-03-03 16:17:14

PureFTPd
点赞
收藏

51CTO技术栈公众号