免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2374 | 回复: 6
打印 上一主题 下一主题

请教如何用TC限制流量 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-10-12 15:27 |只看该作者 |倒序浏览
想做一个限制内网每一个IP,对其指定上传/下载流量的脚本,请教熟悉TC的朋友,应该如何写呢?
类似于下图:

论坛徽章:
0
2 [报告]
发表于 2006-10-12 16:07 |只看该作者
1)你可以参考 Linux的高级路由和流量控制HOWTO 一书,他详尽的介绍了tc,可以帮助你

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

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

论坛徽章:
0
3 [报告]
发表于 2006-10-12 16:35 |只看该作者
原帖由 liuzhuan23 于 2006-10-12 16:07 发表
1)你可以参考 Linux的高级路由和流量控制HOWTO 一书,他详尽的介绍了tc,可以帮助你

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


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

  1. UPLINK=220
  2. DEV=eth1   #eth1是外网网卡
复制代码


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


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


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


# 为每一个IP地址开一个子类0-255:
  1. tc class add dev $DEV parent 1:1 classid 1:10 htb rate ${ip1}kbit burst 6k
  2. tc class add dev $DEV parent 1:1 classid 1:11 htb rate ${ip2}kbit burst 6k
  3. tc class add dev $DEV parent 1:1 classid 1:12 htb rate ${ip3}kbit burst 6k
  4. ……
  5. ……
  6. tc class add dev $DEV parent 1:1 classid 1:264 htb rate ${ip255}kbit burst 6k
复制代码


#相应的队列规则
  1. tc qdisc add dev $DEV parent 1:10 handle 10: sfq perturb 10
  2. tc qdisc add dev $DEV parent 1:10 handle 11: sfq perturb 10
  3. tc qdisc add dev $DEV parent 1:10 handle 12: sfq perturb 10
  4. ……
  5. ……
  6. tc qdisc add dev $DEV parent 1:264 handle 12: sfq perturb 10
复制代码


#u32过滤器
  1. tc filter add dev $DEV parent 1:0 protocol ip prio 10 u32 match ip src 192.168.0.1 flowid 1:10
  2. tc filter add dev $DEV parent 1:0 protocol ip prio 10 u32 match ip src 192.168.0.2 flowid 1:11
  3. tc filter add dev $DEV parent 1:0 protocol ip prio 10 u32 match ip src 192.168.0.3 flowid 1:12
  4. ……
  5. ……
  6. 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 编辑 ]

论坛徽章:
0
4 [报告]
发表于 2006-10-12 16:38 |只看该作者
应该是这样的

论坛徽章:
1
操作系统版块每日发帖之星
日期:2016-04-19 06:20:00
5 [报告]
发表于 2006-10-12 16:41 |只看该作者
呵呵,搞内核的果然历害,学得这么快。

论坛徽章:
0
6 [报告]
发表于 2006-10-12 16:47 |只看该作者
分类原则是:根->主干类->用户类,我们主要在用户类上面做文章,根与主干类就是一个宏观上的范围(你可以抽象的想象为一颗树与她的主干,而用户类就是叶子)

论坛徽章:
0
7 [报告]
发表于 2006-10-12 16:54 |只看该作者
原帖由 liuzhuan23 于 2006-10-12 16:47 发表
分类原则是:根->主干类->用户类,我们主要在用户类上面做文章,根与主干类就是一个宏观上的范围(你可以抽象的想象为一颗树与她的主干,而用户类就是叶子)


是这样的,哎,刚才那个脚本里边好多错的,想当然了,还是得踏踏实实一点点地学起走……
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP