论坛风格切换切换到宽版
  • 652阅读
  • 6回复

[问题求助]请教如何用TC限制流量 [复制链接]

上一主题 下一主题
离线jguzhou.
 
发帖
2015
C币
-235266
威望
407
贡献值
1
银元
-4
铜钱
4616
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-01
想做一个限.制内网每一个IP,对其指定上.传/下载流量的脚本,请教熟悉TC的朋友,应该如何写呢?             电子
类似于下图:

http://upload.bbs.csuboy.com/Mon_1004/126_6678_1992f6fa447fe7f.jpg[/img].

评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
离线jiayism.
发帖
2009
C币
-60549
威望
365
贡献值
1
银元
-2
铜钱
4584
人人网人气币
0
只看该作者 沙发  发表于: 2010-04-13
1)你可以参考 Linux的高级路由和流量控制HOWTO 一书,他详尽的介绍了tc,可以帮助你

2) http://bbs.chinaunix.net/viewthr ... 3Ddigest&page=1
这篇帖子对你也许有帮助

3)如果你希望对上下行均做控制,你需要给kernel打上imq这个补丁,imq可以做上下行控制

发帖
2107
C币
-235514
威望
408
贡献值
1
银元
-5
铜钱
4774
人人网人气币
0
只看该作者 板凳  发表于: 2010-04-13


QUOTE:原帖由 liuzhuan23 于 2006-10-12 16:07 发表
1)你可以参考 Linux的高级路由和流量控制HOWTO 一书,他详尽的介绍了tc,可以帮助你

2) http://bbs.chinaunix.net/viewthr ... 3Ddigest&page=1
...


刚才看了《Linux的高级路由和流量控制HOWTO 》,依葫芦画瓢,大家看看菜鸟写得对不——控制上行速率的脚本:

UPLINK=220

DEV=eth1   #eth1是外网网卡
复制代码

# 清空已有的队列
tc qdisc del dev $DEV root 2> /dev/null > /dev/null
复制代码

###### uplink
# 建立HTB父类
tc qdisc add dev $DEV root handle 1: htb default 20
复制代码

# 设定uplink的最大速率:
tc class add dev $DEV parent 1: classid 1:1 htb rate ${UPLINK}kbit burst 6k
复制代码

# 为每一个IP地址开一个子类0-255:
tc class add dev $DEV parent 1:1 classid 1:10 htb rate ${ip1}kbit burst 6k

tc class add dev $DEV parent 1:1 classid 1:11 htb rate ${ip2}kbit burst 6k

tc class add dev $DEV parent 1:1 classid 1:12 htb rate ${ip3}kbit burst 6k

……

……

tc class add dev $DEV parent 1:1 classid 1:264 htb rate ${ip255}kbit burst 6k
复制代码

#相应的队列规则
tc qdisc add dev $DEV parent 1:10 handle 10: sfq perturb 10

tc qdisc add dev $DEV parent 1:10 handle 11: sfq perturb 10

tc qdisc add dev $DEV parent 1:10 handle 12: sfq perturb 10

……

……

tc qdisc add dev $DEV parent 1:264 handle 12: sfq perturb 10
复制代码

#u32过滤器
tc filter add dev $DEV parent 1:0 protocol ip prio 10 u32 match ip src 192.168.0.1 flowid 1:10

tc filter add dev $DEV parent 1:0 protocol ip prio 10 u32 match ip src 192.168.0.2 flowid 1:11

tc filter add dev $DEV parent 1:0 protocol ip prio 10 u32 match ip src 192.168.0.3 flowid 1:12

……

……

tc filter add dev $DEV parent 1:0 protocol ip prio 10 u32 match ip src 192.168.0.255 flowid 1:264
复制代码
[ 本帖最后由 独孤九贱 于 2006-10-12 16:44 编辑 ]

离线lsp678.
发帖
2033
C币
-60763
威望
381
贡献值
1
银元
-3
铜钱
4575
人人网人气币
0
只看该作者 地板  发表于: 2010-04-13
应该是这样的

离线問號.
发帖
2009
C币
-627237
威望
377
贡献值
4
银元
-1
铜钱
4493
人人网人气币
0
只看该作者 4楼 发表于: 2010-04-13
呵呵,搞内核的果然历害,学得这么快。

离线zhangyuhao.
发帖
1995
C币
4783
威望
341
贡献值
0
银元
-3
铜钱
4398
人人网人气币
0
只看该作者 5楼 发表于: 2010-04-13
分类原则是:根->主干类->用户类,我们主要在用户类上面做文章,根与主干类就是一个宏观上的范围(你可以抽象的想象为一颗树与她的主干,而用户类就是叶子)

离线sisikie.
发帖
2119
C币
-60363
威望
375
贡献值
1
银元
-7
铜钱
4641
人人网人气币
0
只看该作者 6楼 发表于: 2010-04-13


QUOTE:原帖由 liuzhuan23 于 2006-10-12 16:47 发表
分类原则是:根->主干类->用户类,我们主要在用户类上面做文章,根与主干类就是一个宏观上的范围(你可以抽象的想象为一颗树与她的主干,而用户类就是叶子)


是这样的,哎,刚才那个脚本里边好多错的,想当然了,还是得踏踏实实一点点地学起走……
快速回复
限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
上一个 下一个