Hirdetés

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

  • Tamy

    senior tag

    válasz bambano #30 üzenetére

    Átnyálaztam, de hazudnék, ha azt mondanám sokat tanultam belőle. Annyit megcsináltam a leírtak alapján, hogy letiltogattam amire úgy gondoltam, hogy nincs szükség, meg egy sort hozzáadtam: "tc qdisc add dev "$DEV" egress" (valószínűleg az is hülyeség), de ettől persze még nem fog működni :(

    #!/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

    DEV="eth0.2"
    LIMIT_IPS="192.168.2.100"
    # LIMIT_DOWN=200
    # LIMIT_DOWN_BURST=400
    LIMIT_UP=400

    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 qdisc add dev "$DEV" egress
    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

    [ Szerkesztve ]

    Egész életemben azon gondolkodtam, hogy kéne valamit dolgoznom. Ezért aztán a végén nem is maradt rá időm.

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