Keresés

Új hozzászólás Aktív témák

  • Tamy

    őstag

    válasz Intruder2k5 #34886 üzenetére

    Neked írom, bár mcll-nek is szól.

    Anno' én is kértem tőle, de kiderült, hogy valami gubanc miatt mégsem megy (ez az általad linkelt hsz. után történt). Nekem van egy ilyen scriptem, nem tagadom, nem én találtam ki:

    #!/bin/sh

    insmod cls_fw >/dev/null 2>&1
    insmod cls_u32 >/dev/null 2>&1
    insmod sch_htb >/dev/null 2>&1
    insmod sch_sfq >/dev/null 2>&1
    insmod sch_ingress >/dev/null 2>&1
    insmod act_police

    DEV="eth0.1"
    LIMIT_IPS="192.168.2.102 192.168.2.103 192.168.2.104"
    LIMIT_DOWN=20000
    LIMIT_DOWN_BURST=30000
    LIMIT_UP=30

    start() {
    tc qdisc del dev "$DEV" root
    tc qdisc add dev "$DEV" root handle 77: htb
    tc class add dev "$DEV" parent 77: classid 77:1 htb rate 20000kbit
    tc class add dev "$DEV" parent 77:1 classid 77:10 htb rate ${LIMIT_DOWN}kbit ceil ${LIMIT_DOWN_BURST}kbit prio 2
    tc qdisc add dev "$DEV" parent 77:10 handle 78: sfq perturb 10
    tc qdisc add dev "$DEV" ingress
    tc filter add dev "$DEV" parent 77: protocol ip prio 2 handle 80 fw flowid 77:10
    tc filter add dev "$DEV" parent ffff: protocol ip prio 1 handle 79 fw police rate ${LIMIT_UP}kbit mtu 6k burst 6k drop

    for ip in $LIMIT_IPS; do
    iptables -t mangle -I PREROUTING -s $ip -j MARK --set-mark 79
    iptables -t mangle -I POSTROUTING -d $ip -j MARK --set-mark 80
    done
    }

    stop() {
    tc qdisc del dev $DEV root
    iptables -F -t mangle
    }

    restart() {
    stop
    sleep 1
    start
    }

    show() {
    tc -s qdisc ls dev $DEV
    }

    case "$1" in
    start)
    echo -n "Starting bandwidth shaping: "
    start
    echo "done"
    ;;

    stop)
    echo -n "Stopping bandwidth shaping: "
    stop
    echo "done"
    ;;

    restart)
    echo -n "Restarting bandwidth shaping: "
    restart
    echo "done"
    ;;

    show)
    echo "Bandwidth shaping status for $DEV:"
    show
    echo ""
    ;;

    *)
    echo "Usage: $0 {start|stop|restart|show}"
    ;;
    esac

    exit 0

    Ezzel a letöltést lehet korlátozni, de a feltöltésre nincs hatással, korábban bambano volt aki elég sokat foglalkozott a kérdéssel, aztán egyszer csak eltűnt :( Ő azt mondta, hogy a feltöltést teljesen másként kell korlátozni, de a mikéntje rejtély maradt :) Annyi szépséghibája volt nálam, hogy ha leállítom, akkor megbolondul, és úgy tapasztaltam, hogy mindenkinek kb. felére veszi vissza a max.-hoz képest a sebességét, annak is, aki nincs is a korlátozó listán. Persze én nem állítgattam le, így nem okozott gondot. Mostanra viszont (többek között emiatt is) áttértem a Gargoyle-ra, így ezzel már nincs gondom :)

Új hozzászólás Aktív témák