找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 20945|回复: 22

[coyote] [分享]成功实现coyote单个,整段ip流量限制

[复制链接]
发表于 2004-2-23 19:45:06 | 显示全部楼层
经过3天的努力,在网上查阅了很多资料后,我终于实现了coyote单个,整段ip流量限制,过程如下:1.首先不要用web管理开启qos,QOS Init Configuration中QOS init type 一定要是QOS Disabled,不使用自带的qos脚本。2.如果想限制一个ip的带宽在/etc/rc.d/rc.local文件中加入以下内容:

CODE
tc qdisc add dev eth0 root handle 1: htb r2q 1tc class add dev eth0 parent 1: classid 1:1 htb rate 50kbit burst 10k tc filter add dev eth0 parent 1: protocol ip prio 16 u32 match ip dst 192.168.111.168 flowid 1:1
就可以限制192.168.111.168的带宽为50k了,实际下载速度为8k左右。3.如果想限制一段ip的带宽在/etc/rc.d/rc.local文件中加入以下内容:

CODE
tc qdisc add dev eth0 root handle 1: htb r2q 1tc class add dev eth0 parent 1: classid 1:1 htb rate 400kbit burst 10ktc filter add dev eth0 parent 1: protocol ip prio 16 u32 match ip dst 192.168.111.0/24 flowid 1:1
就可以限制192.168.111.0 到255 的带宽为400k了,实际下载速度为50k左右。这种情况下,这个网段所有机器共享这50k的带宽。由于限制单个ip的带宽比较麻烦,所以我限制了一段ip的带宽,又给本地网卡加了一个ip地址,加的ip的网段带宽没有限制,在web管理LAN Configuration的(Optional) Secondary IP Address and Netmask里设定的。详细的讲一下:

CODE
tc qdisc add dev eth0 root handle 1: htb r2q 1
加一个没有default的root,使整个网络的带宽没有限制。

CODE
tc class add dev eth0 parent 1: classid 1:1 htb rate 400kbit burst 10k
设定一个类默认带宽是400kbit

CODE
tc filter add dev eth0 parent 1: protocol ip prio 16 u32 match ip dst 192.168.111.0/24 flowid 1:1
设定192.168.111.0整个网段使用类1:1,从而限制带宽。而默认不限制带宽,只有指定那个ip或段才去限制。ip和mac如何绑定:

CODE
iptables -t nat -P PREROUTING DROPiptables -t nat -A PREROUTING -s 192.168.1.168 -m mac --mac-source ! 00:50:BA:70:94:99 -j DROPiptables -t nat -A PREROUTING -s 192.168.1.168 -j ACCEPT
功夫不负有心人!!!coyote功能只强大,所学九牛一毛也。
routeros
回复

使用道具 举报

发表于 2004-2-23 19:53:16 | 显示全部楼层
请问为什么在CL运行以下两行命令会断网

CODE
tc qdisc add dev ppp0 handle ffff: ingresstc filter add dev ppp0 parent ffff: protocol ip prio 50 u32 match ip src     0.0.0.0/0 police rate 1024kbit burst 10k drop flowid :1
routeros
回复

使用道具 举报

发表于 2004-2-24 07:40:06 | 显示全部楼层
好文
routeros
回复

使用道具 举报

 楼主| 发表于 2004-2-24 08:05:05 | 显示全部楼层
补充一下,最好加入一个sfq(随机公平队列)如下:
tc qdisc add dev eth0 root handle 1: htb r2q 1
tc class add dev eth0 parent 1: classid 1:1 htb rate 400kbit burst 20k
tc qdisc add dev eth0 parent 1:1 handle 10: sfq perturb 10
tc filter add dev eth0 parent 1: protocol ip prio 16 u32
match ip dst 192.168.111.0/24 flowid 1:1

这一行就是加入的语句
tc qdisc add dev eth0 parent 1:1 handle 10: sfq perturb 10
他可以防止一个段内的一个ip占用整个带宽。
routeros
回复

使用道具 举报

发表于 2004-2-24 08:32:14 | 显示全部楼层
这些语句能加到IPCOP里面吗?
有机会的兄弟试一下呀!
routeros
回复

使用道具 举报

发表于 2004-7-4 13:27:23 | 显示全部楼层
请问一下:ip和mac如何绑定: iptables -t nat -P PREROUTING DROP iptables -t nat -A PREROUTING -s 192.168.1.168 -m mac --mac-source ! 00:50:BA:70:94:99 -j DROP iptables -t nat -A PREROUTING -s 192.168.1.168 -j ACCEPT 我怎么这样设置了后,就上不了网了啊是不是最后一条语句的原因啊,还有怎么让一开机就执行上面的命令?谢谢!
routeros
回复

使用道具 举报

 楼主| 发表于 2004-7-4 14:35:35 | 显示全部楼层
/etc/rc.d/rc.local
routeros
回复

使用道具 举报

发表于 2004-7-5 05:42:04 | 显示全部楼层
iptables -t nat -P PREROUTING DROP iptables -t nat -A PREROUTING -s 192.168.1.168 -m mac --mac-source ! 00:50:BA:70:94:99 -j DROP iptables -t nat -A PREROUTING -s 192.168.1.168 -j ACCEPT 可以大概解释一下第1,3条语句吗,谢谢!
routeros
回复

使用道具 举报

 楼主| 发表于 2004-7-5 08:12:02 | 显示全部楼层
第1条语句:禁止所有nat通讯。第3条语句:ip为192.168.1.168可以通讯。
routeros
回复

使用道具 举报

发表于 2004-7-5 18:35:35 | 显示全部楼层
还有,请问:如果我只是要帮定COYOTE内网卡的MAC的话,是不是只要第2条语句就可以了?
routeros
回复

使用道具 举报

发表于 2004-8-3 14:03:10 | 显示全部楼层
请问如何限一下上行呢?
routeros
回复

使用道具 举报

发表于 2004-8-14 20:39:09 | 显示全部楼层
修改文件的方法太麻烦,CL的新版本可能会加入带宽限制的支持的,不是QOS
routeros
回复

使用道具 举报

发表于 2004-8-19 18:28:21 | 显示全部楼层
我们是在学习,不是在生产,知道的多对没个人都是没有坏处的。您说是么?
routeros
回复

使用道具 举报

发表于 2004-9-24 17:16:34 | 显示全部楼层
我照搬改网段后后,提示 match  not found是不是其中match命令不对
routeros
回复

使用道具 举报

头像被屏蔽
发表于 2004-10-9 15:20:21 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
routeros
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|软路由 ( 渝ICP备15001194号-1|渝公网安备 50011602500124号 )

GMT+8, 2024-11-24 04:43 , Processed in 0.056172 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表