Hello, I've tested removing de burst parameter in the htb config, and I have de next results: [Attached File] Is the HTB exact or not? Now I've changed bw to 448Kbps or 56KBps, but in the graph I have a maximum of 77.5KBps. Why??? Thanks!!! Alexandra Alvarado PD: I can't use monitor_tc.pl, because iptables chain doesn't work with PREROUTING : ( Stef Coene wrote: > > >> My problem is that rrdtool graph shows : > > >> > > >> ETH0 IN: 596.99Kbps > > >> ETH0 OUT: 100.71Kbps > > >> > > >> ETH1 IN: 74.44Kbps > > >> ETH1 OUT: 150.13Kbps > > >> > > >> And the configuration has a ceil of 384Kbit > > >> > > >> What I'm doing wrong?? > > >> > > >> I suppose that it could be with Squid Transparent Proxy, but in HTB > > >> I have a default classid 20, > > >> that is where must go any not specified traffic, how can I solve my > > >> problem? > > > >> tc qdisc add dev eth0 root handle 1: htb default 20 > > >> tc class add dev eth0 parent 1: classid 1:1 htb rate 100mbit ceil > > >> 384kbit burst 2k tc class add dev eth0 parent 1:1 classid 1:10 htb rate > > >> 56kbit ceil 64kbit burst 2k tc class add dev eth0 parent 1:1 classid > > >> 1:11 htb rate 56kbit ceil 64kbit burst 2k tc class add dev eth0 parent > > >> 1:1 classid 1:12 htb rate 56kbit ceil 64kbit burst 2k tc class add dev > > >> eth0 parent 1:1 classid 1:13 htb rate 56kbit ceil 64kbit burst 2k tc > > >> class add dev eth0 parent 1:1 classid 1:14 htb rate 56kbit ceil 64kbit > > >> burst 2k tc class add dev eth0 parent 1:1 classid 1:20 htb rate 100kbit > > >> ceil 128kbit burst 2k > My reply messed up the layout. But 2kbit is too low for the burst. Remove > the burst parameter and htb will calculate the best burst for you. > > > >> tc filter add dev eth0 parent 1: protocol ip prio 1 handle 1 fw classid > > >> 1:10 tc filter add dev eth0 parent 1: protocol ip prio 3 handle 3 fw > > >> classid 1:11 tc filter add dev eth0 parent 1: protocol ip prio 3 handle > > >> 5 fw classid 1:12 tc filter add dev eth0 parent 1: protocol ip prio 3 > > >> handle 7 fw classid 1:13 > You can give each filter the same prio. > > If you go to http://www.docum.org/stef.coene/qos/monitor/ you can download my > monitor_tc.pl script. It will calculate the bandwidth but it will use the tc > counters. So you know exactly how much each class is sending. > > Stef > > -- > > stef.coene@xxxxxxxxx > "Using Linux as bandwidth manager" > http://www.docum.org/ > #lartc @ irc.oftc.net
#!/bin/sh # ================================ # # ===>> Alexandra Alvarado << === # # ===>> Febrero 24 del 2003 << === # # ================================ # iptables -F -t mangle iptables -X # ===>> Control de Trafico de Salida << === # # ===>> 1 <<=== # iptables -A PREROUTING -t mangle -p tcp -s 207.100.136.194 -j MARK --set-mark 1 iptables -A PREROUTING -t mangle -p udp -s 207.100.136.194 -j MARK --set-mark 1 # ===>> 2 <<=== # iptables -A PREROUTING -t mangle -p tcp -s 207.100.136.199 -j MARK --set-mark 3 iptables -A PREROUTING -t mangle -p udp -s 207.100.136.199 -j MARK --set-mark 3 # ===>> 3 <<=== # iptables -A PREROUTING -t mangle -p tcp -s 207.100.136.201 -j MARK --set-mark 5 iptables -A PREROUTING -t mangle -p udp -s 207.100.136.201 -j MARK --set-mark 5 # ===>> 4 <<=== # iptables -A PREROUTING -t mangle -p tcp -s 207.100.136.230/28 -j MARK --set-mark 7 iptables -A PREROUTING -t mangle -p udp -s 207.100.136.230/28 -j MARK --set-mark 7 # ===>> 5 <<=== # iptables -A PREROUTING -t mangle -p tcp -s 200.81.91.195 -j MARK --set-mark 9 iptables -A PREROUTING -t mangle -p udp -s 200.81.91.195 -j MARK --set-mark 9 iptables -A PREROUTING -t mangle -p tcp -s 207.100.136.248 -j MARK --set-mark 9 iptables -A PREROUTING -t mangle -p udp -s 207.100.136.248 -j MARK --set-mark 9 # ===>> 6 <<=== # iptables -A PREROUTING -t mangle -p tcp -s 200.81.91.188 -j MARK --set-mark 11 iptables -A PREROUTING -t mangle -p udp -s 200.81.91.188 -j MARK --set-mark 11 iptables -A PREROUTING -t mangle -p tcp -s 200.81.91.189 -j MARK --set-mark 11 iptables -A PREROUTING -t mangle -p udp -s 200.81.91.189 -j MARK --set-mark 11 iptables -A PREROUTING -t mangle -p tcp -s 200.81.91.200 -j MARK --set-mark 11 iptables -A PREROUTING -t mangle -p udp -s 200.81.91.200 -j MARK --set-mark 11 iptables -A PREROUTING -t mangle -p tcp -s 200.81.91.201 -j MARK --set-mark 11 iptables -A PREROUTING -t mangle -p udp -s 200.81.91.201 -j MARK --set-mark 11 tc qdisc del dev eth0 root handle 1: tc qdisc add dev eth0 root handle 1: htb default 20 tc class add dev eth0 parent 1: classid 1:1 htb rate 100mbit ceil 448kbit tc class add dev eth0 parent 1:1 classid 1:10 htb rate 56kbit ceil 64kbit tc class add dev eth0 parent 1:1 classid 1:11 htb rate 56kbit ceil 64kbit tc class add dev eth0 parent 1:1 classid 1:12 htb rate 56kbit ceil 64kbit tc class add dev eth0 parent 1:1 classid 1:13 htb rate 56kbit ceil 64kbit tc class add dev eth0 parent 1:1 classid 1:14 htb rate 56kbit ceil 64kbit tc class add dev eth0 parent 1:1 classid 1:15 htb rate 56kbit ceil 64kbit tc class add dev eth0 parent 1:1 classid 1:20 htb rate 56kbit ceil 64kbit tc filter add dev eth0 parent 1: protocol ip prio 1 handle 1 fw classid 1:10 tc filter add dev eth0 parent 1: protocol ip prio 3 handle 3 fw classid 1:11 tc filter add dev eth0 parent 1: protocol ip prio 3 handle 5 fw classid 1:12 tc filter add dev eth0 parent 1: protocol ip prio 3 handle 7 fw classid 1:13 tc filter add dev eth0 parent 1: protocol ip prio 3 handle 9 fw classid 1:14 tc filter add dev eth0 parent 1: protocol ip prio 3 handle 11 fw classid 1:15 # ===>> Control de Trafico de Entrada << === # # ===>> 1 <<=== # iptables -A POSTROUTING -t mangle -p tcp -d 207.100.136.194 -j MARK --set-mark 2 iptables -A POSTROUTING -t mangle -p udp -d 207.100.136.194 -j MARK --set-mark 2 # ===>> 2 <<=== # iptables -A POSTROUTING -t mangle -p tcp -d 207.100.136.199 -j MARK --set-mark 4 iptables -A POSTROUTING -t mangle -p udp -d 207.100.136.199 -j MARK --set-mark 4 # ===>> 3 <<=== # iptables -A POSTROUTING -t mangle -p tcp -d 207.100.136.201 -j MARK --set-mark 6 iptables -A POSTROUTING -t mangle -p udp -d 207.100.136.201 -j MARK --set-mark 6 # ===>> 4 <<=== # iptables -A PREROUTING -t mangle -p tcp -d 207.100.136.230/28 -j MARK --set-mark 8 iptables -A PREROUTING -t mangle -p udp -d 207.100.136.230/28 -j MARK --set-mark 8 # ===>> 5 <<=== # iptables -A PREROUTING -t mangle -p tcp -d 200.81.91.195 -j MARK --set-mark 10 iptables -A PREROUTING -t mangle -p udp -d 200.81.91.195 -j MARK --set-mark 10 iptables -A PREROUTING -t mangle -p tcp -d 207.100.136.248 -j MARK --set-mark 10 iptables -A PREROUTING -t mangle -p udp -d 207.100.136.248 -j MARK --set-mark 10 # ===>> 6 <<=== # iptables -A PREROUTING -t mangle -p tcp -d 200.81.91.188 -j MARK --set-mark 12 iptables -A PREROUTING -t mangle -p udp -d 200.81.91.188 -j MARK --set-mark 12 iptables -A PREROUTING -t mangle -p tcp -d 200.81.91.189 -j MARK --set-mark 12 iptables -A PREROUTING -t mangle -p udp -d 200.81.91.189 -j MARK --set-mark 12 iptables -A PREROUTING -t mangle -p tcp -d 200.81.91.200 -j MARK --set-mark 12 iptables -A PREROUTING -t mangle -p udp -d 200.81.91.200 -j MARK --set-mark 12 iptables -A PREROUTING -t mangle -p tcp -d 200.81.91.201 -j MARK --set-mark 12 iptables -A PREROUTING -t mangle -p udp -d 200.81.91.201 -j MARK --set-mark 12 tc qdisc del dev eth1 root handle 1: tc qdisc add dev eth1 root handle 1: htb default 20 tc class add dev eth1 parent 1: classid 1:1 htb rate 100mbit ceil 448kbit tc class add dev eth1 parent 1:1 classid 1:10 htb rate 56kbit ceil 64kbit tc class add dev eth1 parent 1:1 classid 1:11 htb rate 56kbit ceil 64kbit tc class add dev eth1 parent 1:1 classid 1:12 htb rate 56kbit ceil 64kbit tc class add dev eth1 parent 1:1 classid 1:13 htb rate 56kbit ceil 64kbit tc class add dev eth1 parent 1:1 classid 1:14 htb rate 56kbit ceil 64kbit tc class add dev eth1 parent 1:1 classid 1:15 htb rate 56kbit ceil 64kbit tc class add dev eth1 parent 1:1 classid 1:20 htb rate 56kbit ceil 64kbit tc filter add dev eth1 parent 1: protocol ip prio 1 handle 2 fw classid 1:10 tc filter add dev eth1 parent 1: protocol ip prio 3 handle 4 fw classid 1:11 tc filter add dev eth1 parent 1: protocol ip prio 3 handle 6 fw classid 1:12 tc filter add dev eth1 parent 1: protocol ip prio 3 handle 8 fw classid 1:13 tc filter add dev eth1 parent 1: protocol ip prio 3 handle 10 fw classid 1:14 tc filter add dev eth1 parent 1: protocol ip prio 3 handle 12 fw classid 1:15 # === >> Fin << === #