首页 > FTP应用服务器 > PureFTPd的全局带宽限制

PureFTPd的全局带宽限制

2016年11月23日

PureFTPd的全局带宽限制
http://os.51cto.com/art/201103/247189.htm
Pureftpd是一款在多种类Unix上使用并符合GPL协议的原代码开放的软件,顾名思义,它就是一款纯粹的Ftp程序。今天为大家带来的是PureFTPd的全局带宽限制方面的知识。
AD:51CTO 网+ 第十二期沙龙:大话数据之美_如何用数据驱动用户体验
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

#简单的带宽限制–英文原本作者[email protected]

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

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

REAL_BW=’10Mbit’

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

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

FTP_BW=’80Kbit’

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

NIC=’eth0′

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

FTP_PORT_LOW=”10000″

FTP_PORT_HIGH=”20000”

tc qdisc add dev “$NIC” root handle 1: cbq \

bandwidth “$REAL_BW” avpkt 1000

tc class add dev “$NIC” parent 1: classid 1:1 cbq bandwidth “$REAL_BW” \

rate “$REAL_BW” maxburst 5 avpkt 1000

tc class add dev “$NIC” parent 1:1 classid 1:10 cbq \

bandwidth “$REAL_BW” rate “$FTP_BW” maxburst 5 avpkt 1000 bounded

tc qdisc add dev “$NIC” parent 1:10 sfq quantum 1514b

tc filter add dev “$NIC” parent 1: protocol ip handle 1 fw flowid 1:10

iptables -t mangle -A OUTPUT -p tcp –sport 20:21 -j MARK –set-mark 1

iptables -t mangle -A OUTPUT -p tcp \

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

分类: FTP应用服务器 标签:
本文的评论功能被关闭了.