lscm163 发表于 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功能只强大,所学九牛一毛也。

clamp 发表于 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

心想事成 发表于 2004-2-24 07:40:06

好文

lscm163 发表于 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占用整个带宽。

jycseedling 发表于 2004-2-24 08:32:14

这些语句能加到IPCOP里面吗?
有机会的兄弟试一下呀!

ljz625 发表于 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 我怎么这样设置了后,就上不了网了啊是不是最后一条语句的原因啊,还有怎么让一开机就执行上面的命令?谢谢!

lscm163 发表于 2004-7-4 14:35:35

/etc/rc.d/rc.local

ljz625 发表于 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条语句吗,谢谢!

lscm163 发表于 2004-7-5 08:12:02

第1条语句:禁止所有nat通讯。第3条语句:ip为192.168.1.168可以通讯。

ljz625 发表于 2004-7-5 18:35:35

还有,请问:如果我只是要帮定COYOTE内网卡的MAC的话,是不是只要第2条语句就可以了?

luodahua 发表于 2004-8-3 14:03:10

请问如何限一下上行呢?

DreamCat 发表于 2004-8-14 20:39:09

修改文件的方法太麻烦,CL的新版本可能会加入带宽限制的支持的,不是QOS

gouf123 发表于 2004-8-19 18:28:21

我们是在学习,不是在生产,知道的多对没个人都是没有坏处的。您说是么?

logain 发表于 2004-9-24 17:16:34

我照搬改网段后后,提示 matchnot found是不是其中match命令不对

a99456820 发表于 2004-10-9 15:20:21

页: [1] 2
查看完整版本: [分享]成功实现coyote单个,整段ip流量限制