RATE=256 tc qdisc del dev eth0 root tc qdisc add dev eth0 root handle 1:0 htb tc class add dev eth0 parent 1:0 classid 1:1 htb rate ${RATE}kbit tc class add dev eth0 parent 1:1 classid 1:11 htb rate $[${RATE}/4]kbit ceil ${RATE}kbit tc class add dev eth0 parent 1:1 classid 1:12 htb rate $[${RATE}/4]kbit ceil ${RATE}kbit tc class add dev eth0 parent 1:1 classid 1:13 htb rate $[${RATE}/4]kbit ceil ${RATE}kbit tc class add dev eth0 parent 1:1 classid 1:14 htb rate $[${RATE}/4]kbit ceil ${RATE}kbit tc qdisc add dev eth0 parent 1:11 handle 11:0 sfq perturb 10 tc qdisc add dev eth0 parent 1:12 handle 12:0 sfq perturb 10 tc qdisc add dev eth0 parent 1:13 handle 13:0 sfq perturb 10 tc qdisc add dev eth0 parent 1:14 handle 14:0 sfq perturb 10 iptables -t mangle -F FORWARD iptables -t mangle -A FORWARD -j MARK --set-mark 4 iptables -t mangle -A FORWARD -d 192.168.0.1 -j MARK --set-mark 1 iptables -t mangle -A FORWARD -d 192.168.0.2 -j MARK --set-mark 2 iptables -t mangle -A FORWARD -d 192.168.0.3 -j MARK --set-mark 3 iptables -t mangle -F OUTPUT iptables -t mangle -A OUTPUT -p tcp --sport 3128 -j MARK --set-mark 4 iptables -t mangle -A OUTPUT -p tcp --sport 3128 -d 192.168.0.1 -j MARK --set-mark 1 iptables -t mangle -A OUTPUT -p tcp --sport 3128 -d 192.168.0.2 -j MARK --set-mark 2 iptables -t mangle -A OUTPUT -p tcp --sport 3128 -d 192.168.0.3 -j MARK --set-mark 3 tc filter add dev eth0 parent 1:0 protocol ip handle 1 fw flowid 1:11 tc filter add dev eth0 parent 1:0 protocol ip handle 2 fw flowid 1:12 tc filter add dev eth0 parent 1:0 protocol ip handle 3 fw flowid 1:13 tc filter add dev eth0 parent 1:0 protocol ip handle 4 fw flowid 1:14