[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

htb i dsl 512kb/4mb, problem z traffickiem...



Witam!

Napisałe sobie skrypcik htb do ustawiania pasma dla userów – niewiedzieć czemu nie chce mi to za bardzo działać – może ktoś mi powiedzieć dlaczego? Kombinuje już z tym jakies dobre 2 tygodnie i naprawde brakuje mi już sił...  poniżej zamieszczam 2 skrypty na upload i download. Dodatkowo powiem jeszcze ze eth0 – to interfejs internetowy, natomiast eth1 to lokalny. Łącze to 512kb/4Mb adsl. Proszę o pomoc...

W momencie kiedy sprawdzam ruch na sieci programem iftop zawsze pokazuje mi inne transfery które ustawiłem... skrypty nie wyrzucają błędów przy uruchamianiu...

 

Dla uploadu:

####################################################

#!/bin/bash

 

INTERFACE="eth0"

 

if [ "$1" == "" ]; then

echo "  [start/stop/restart] required"

 exit

fi

 

 

if [ "$1" == "stop" ]; then

 

### czyscimy wszystko

 

tc qdisc del root dev $INTERFACE

 

echo "  all clean"

echo ""

fi

 

 

if [ "$1" == "restart" ] || [ "$1" == "start" ]; then

 

 

###### do netu #################################################################################

 

tc qdisc del root dev $INTERFACE

tc qdisc add dev $INTERFACE root handle 10:0 htb

tc class add dev $INTERFACE parent 10:0 classid 10:1 htb rate 486kbit ceil 486kbit

 

echo $INTERFACE

 

HOSTS="2 3 4 5 7 8 11 12 13 14 15 17 18 19 20 21 22 23 24 25 26 28"

for host in $HOSTS; do

 

   echo "priorytet 1 " 192.168.37.$host

   tc class add dev $INTERFACE parent 10:1 classid 10:$host htb rate 16kbit ceil 200kbit prio 1

   tc filter add dev $INTERFACE protocol ip parent 10:1 u32 match ip dst 10.0.37.$host flowid 10:$host

 

   #antyblokowanie uslog

   tc qdisc add dev $INTERFACE parent 10:$host handle 2$host:0 sfq perturb 10

done

 

HOSTS="6 9 10 16 27"

for host in $HOSTS; do

 

   echo "priorytet 5 " 192.168.37.$host

   tc class add dev $INTERFACE parent 10:1 classid 10:$host htb rate 16kbit ceil 30kbit prio 5

   tc filter add dev $INTERFACE protocol ip parent 10:1 u32 match ip dst 10.0.37.$host flowid 10:$host

 

   #antyblokowanie uslog

   tc qdisc add dev $INTERFACE parent 10:$host handle 2$host:0 sfq perturb 10

done

 

echo " all setup"

echo ""

 

fi

 

dla downloadu :

#!/bin/bash

 

INTERFACE="eth1"

 

 

if [ "$1" == "" ]; then

echo "  [start/stop/restart] required"

 exit

fi

 

 

if [ "$1" == "stop" ]; then

 

### czyscimy wszystko

 

tc qdisc del root dev $INTERFACE

 

echo "  all clean"

echo ""

fi

 

 

if [ "$1" == "restart" ] || [ "$1" == "start" ]; then

 

# do lanu

tc qdisc del root dev $INTERFACE

tc qdisc add dev $INTERFACE root handle 1:0 htb

tc class add dev $INTERFACE parent 1:0 classid 1:1 htb rate 3900kbit ceil 3900kbit

 

echo $INTERFACE

 

HOSTS="4"

    for host in $HOSTS; do

        echo "priorytet 1 " $host

        tc class add dev $INTERFACE parent 1:1 classid 1:$host htb rate 110kbit ceil 3000kbit prio 1

        tc filter add dev $INTERFACE protocol ip parent 1:0 u32 match ip dst 10.0.37.$host flowid 1:$host

        #antyblokowanie uslog

        tc qdisc add dev $INTERFACE parent 1:$host handle $host:0 sfq perturb 10

done

 

HOSTS="2 3 5 7 8 11 12 13 14 15 17 18 19 20 21 22 23 24 25 26 28"

 

    for host in $HOSTS; do

        echo "priorytet 2 " $host

        tc class add dev $INTERFACE parent 1:1 classid 1:$host htb rate 110kbit ceil 3000kbit prio 2

        tc filter add dev $INTERFACE protocol ip parent 1:0 u32 match ip dst 10.0.37.$host flowid 1:$host

        #antyblokowanie uslog

        tc qdisc add dev $INTERFACE parent 1:$host handle $host:0 sfq perturb 10

    done

 

HOSTS="6 9 10 16 27"

 

    for host in $HOSTS; do

        echo "priorytet 5 " $host

        tc class add dev $INTERFACE parent 1:1 classid 1:$host htb rate 110kbit ceil 1000kbit prio 5

        tc filter add dev $INTERFACE protocol ip parent 1:0 u32 match ip dst 10.0.37.$host flowid 1:$host

        #antyblokowanie uslog

        tc qdisc add dev $INTERFACE parent 1:$host handle $host:0 sfq perturb 10

    done

 

 

 

echo "  all setup"

echo ""

 

fi


Reply to: