.首先不要用web管理开启qos,QOS Init Configuration中QOS init type 一定要是QOS Disabled,不使用自带的qos脚本。
2.如果想限制一个ip的带宽在/etc/rc.d/rc.local文件中加入以下内容:
tc qdisc add dev eth0 root handle 1: htb r2q 1 tc 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文件中加入以下内容: 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 10k 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 到255 的带宽为400k了,实际下载速度为50k左右。 这种情况下,这个网段所有机器共享这50k的带宽。 由于限制单个ip的带宽比较麻烦,所以我限制了一段ip的带宽,又给本地网卡加了一个ip地址,加的ip的网段带宽没有限制,在web管理LAN Configuration的(Optional) Secondary IP Address and Netmask里设定的。
详细的讲一下: tc qdisc add dev eth0 root handle 1: htb r2q 1
加一个没有default的root,使整个网络的带宽没有限制。
tc class add dev eth0 parent 1: classid 1:1 htb rate 400kbit burst 10k
设定一个类默认带宽是400kbit
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如何绑定: 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 |