HTB dwa dsl 4000/512
: 04 lipca 2007, 09:40
witam, mam na serwerze dwa dsle takie jak w temacie, sam serwer ma 3 sieciówki, z czego jedna to LAN dwie to dsl'e
Problem jest w tym że kolejki, które napisałem są chyba zwalone bo strasznie szaleje mi ping na serwerze nawet do 2000, uzytkownikow sieci jest ok 40, na jednym dslu mam samego squida (proxy), a na drugim cala reszta ruchu.
Ponizej moj skrypt:
kolejki sa zrobione tylko na upload, odpalone na interfejsach wyjsciowych,
Problem jest w tym że kolejki, które napisałem są chyba zwalone bo strasznie szaleje mi ping na serwerze nawet do 2000, uzytkownikow sieci jest ok 40, na jednym dslu mam samego squida (proxy), a na drugim cala reszta ruchu.
Ponizej moj skrypt:
Kod: Zaznacz cały
# wan1
tc qdisc add dev $wanif1 root handle 1:0 htb default 20 r2q 1
tc class add dev $wanif1 parent 1:0 classid 1:1 htb rate 300kbit ceil 300kbit burst 2k quantum 1600 prio 3
tc class add dev $wanif1 parent 1:1 classid 1:10 htb rate 50kbit ceil 50kbit burst 2k prio 1
tc class add dev $wanif1 parent 1:1 classid 1:20 htb rate 8kbit ceil 300kbit burst 2k prio 2
tc qdisc add dev $wanif1 parent 1:10 handle 10:0 sfq perturb 10
tc qdisc add dev $wanif1 parent 1:20 handle 20:0 sfq perturb 10
tc filter add dev $wanif1 parent 1:0 protocol ip prio 10 u32 match ip tos 0x10 0xff flowid 1:10
tc filter add dev $wanif1 parent 1:0 protocol ip prio 10 u32 match ip protocol 1 0xff flowid 1:10
#tc filter add dev $wanif1 parent 1: protocol ip prio 10 u32 \
# match ip protocol 6 0xff \
# match u8 0x05 0x0f at 0 \
# match u16 0x0000 0xffc0 at 2 \
# match u8 0x10 0xff at 33 \
# flowid 1:10
# wan2
tc qdisc add dev $wanif2 root handle 2:0 htb default 10 r2q 1
tc class add dev $wanif2 parent 2:0 classid 2:1 htb rate 200kbit ceil 200kbit burst 2k quantum 1600 prio 3
tc class add dev $wanif2 parent 2:1 classid 2:10 htb rate 50kbit ceil 50kbit burst 2k prio 1
#tc class add dev $wanif2 parent 2:1 classid 2:20 htb rate 100kbit burst 2k prio 2
tc qdisc add dev $wanif2 parent 2:10 handle 10:0 sfq perturb 10
#tc qdisc add dev $wanif2 parent 2:20 handle 20:0 sfq perturb 10
tc filter add dev $wanif2 parent 2:0 protocol ip prio 10 u32 match ip tos 0x10 0xff flowid 2:10
tc filter add dev $wanif2 parent 2:0 protocol ip prio 10 u32 match ip protocol 1 0xff flowid 2:10
#tc filter add dev $wanif2 parent 2: protocol ip prio 10 u32 \
# match ip protocol 6 0xff \
# match u8 0x05 0x0f at 0 \
# match u16 0x0000 0xffc0 at 2 \
# match u8 0x10 0xff at 33 \
# flowid 2:10
# users
for i in `cat $PREFIX/mac.conf | cut -d'#' -f1 | cut -d'-' -f1 | grep -v eth | uniq`
do
IP=$i
NR=`echo $i | cut -d'.' -f4`
iptables -t mangle -A PREROUTING -s $IP -j MARK --set-mark $NR
iptables -t mangle -A POSTROUTING -o eth0 -d $IP -j MARK --set-mark $NR
tc class add dev $wanif2 parent 2:1 classid 2:$NR htb rate 1kbit ceil 8kbit burst 2k quantum 1600 prio 3
tc filter add dev $wanif2 protocol ip parent 2: handle $NR fw flowid 2:$NR
tc qdisc add dev $wanif2 parent 2:$NR handle $NR:0 sfq perturb 10
done