Posted on 2008-11-30 05:43
fcp 阅读(962)
评论(0) 编辑 收藏 所属分类:
Linux
一直想继续学习java的东西,可是就是没时间,该死的破课
可是课上学的东西也不能忘了,我这人急性不好,还是写下来的保险
Traffic Shaping就是控制网络的流量
在ubuntu下有两个好用的工具可以完成这个工作
Wonder Shaper和cbq.init
实际上真正起作用的是一个叫tc的linux命令
这个两个工具都是脚本,估计是bash,都在内部调用tc来实现traffic shaping
说白了就是给咱们弄了个简单的接口,不用了解太多内部的东西,就能实现traffic shaping
1,Wonder Shaper
安装 apt-get install wondershaper
使用 wondershaper [NIC] [DOWN] [UP]
NIC: 你要限制的设备名,例如eth0
DOWN: 下载的最大速度,单位Kbps
UP: 上传的最大速度,单位Kbps
例子: wondershaper eth0 1024 512
假设你用eth0连接到Internet,你的下载速度最大到1024kps,上传速度最大到512kps
当然你可以取消限制
wondershaper clear eth0
查看状态
wondershaper eth0
2,cbq.init
这个也是个脚本,比上面的复杂,当然功能也多,
上面这个只能针对网卡进行限制,如果你想对某个IP的地址的流量进行限制的时候就无能为力了
但是这个东东可以
在ubuntu下他叫shaper
安装apt-get install shaper
配置文件在/etc/shaper下,开始是空的
当然你也可以自己下这个脚本的原版
http://sourceforge.net/projects/cbqinit/
这个脚本是根据配置文件里的信息进行限制的,所以第一步是创建配置文件
文件名有固定的格式
cbq-<0002 ~ FFFF>.<name>
例子:cbq-0002.download cbq-0003.http
文件的内容:
DEVICE=eth0,10Mbit,1Mbit
RATE=1600Kbit
WEIGHT=160Kbit
RULE=192.168.1.100.192.168.1.101
DEVICE就是你要限制的网卡设备名称,网卡的设计带宽
RATE就是你要限制的带宽,但是限制的是谁呢,这个由RULE决定
RULE按照上面的例子就是只限制从192.168.1.100到192.168.1.101的带宽,其他的流量一律不管
当然还有一下其他的参数,高级,还可以跟iptables结合,利用iptables在特定的流量上打标记-j MARK好像是这个
然后在cbq的配置文件里用MAKR指定这个标记,这样就可以不用RULE来判断了
启动:/etc/init.d/shaper compile
/etc/init.d/shaper start
停止:/etc/init.d/shaper stop
不过说实话,我试了好几次,cbq可以正常的启动,但是根本没效果。。。应该是我配置的错误吧