• [^] # Re: Qos sur ligne ADSL

    Posté par (site web personnel, Mastodon) . En réponse au journal Qos sur ligne ADSL. Évalué à 2.

    Voici le script que j'utilise: (j'ai déjà changé les valeurs de down et et up pour toi):


    #!/bin/sh


    IPTABLES=`which iptables`
    TC=`which tc`

    DOWNSTREAM=1024
    UPSTREAM=256

    INTERFACE=ppp0

    ICR=`expr $DOWNSTREAM / 20`
    DCR=`expr $UPSTREAM - $ICR`


    case "1ドル" in
    start)
    echo -e "QoS Connection Tuning: start\nInteractive class rate : ${ICR}\nData class rate : ${DCR}\n"
    $IPTABLES -t mangle -A OUTPUT -m length --length 0:500 -j MARK --set-mark 3
    $IPTABLES -t mangle -A OUTPUT -m length --length 500:1500 -j MARK --set-mark 4
    $IPTABLES -t mangle -A PREROUTING -m length --length 0:500 -j MARK --set-mark 3
    $IPTABLES -t mangle -A PREROUTING -m length --length 500:1500 -j MARK --set-mark 4
    $TC qdisc add dev ${INTERFACE} root handle 10: cbq bandwidth 10Mbit avpkt 1000 mpu 64
    $TC class add dev ${INTERFACE} parent 10:0 classid 10:1 cbq bandwidth 10Mbit rate ${ICR}Kbit allot 1514 prio 1 maxburst 10 avpkt 100 isolated
    $TC class add dev ${INTERFACE} parent 10:0 classid 10:2 cbq bandwidth 10Mbit rate ${DCR}Kbit allot 1514 prio 8 maxburst 2 avpkt 1500 bounded
    $TC filter add dev ${INTERFACE} parent 10:0 protocol ip handle 3 fw flowid 10:1
    $TC filter add dev ${INTERFACE} parent 10:0 protocol ip handle 4 fw flowid 10:2
    ;;

    stop)
    echo -e "QoS Connection Tuning: stop"
    $TC qdisc del dev ${INTERFACE} root >/dev/null 2>/dev/null
    $TC class del dev ${INTERFACE} parent >/dev/null 2>/dev/null
    $TC filter del dev ${INTERFACE} parent >/dev/null 2>/dev/null
    $IPTABLES -t mangle -D OUTPUT -m length --length 0:500 -j MARK --set-mark 3
    $IPTABLES -t mangle -D OUTPUT -m length --length 500:1500 -j MARK --set-mark 4
    $IPTABLES -t mangle -D PREROUTING -m length --length 0:500 -j MARK --set-mark 3
    $IPTABLES -t mangle -D PREROUTING -m length --length 500:1500 -j MARK --set-mark 4
    ;;

    *)
    echo "0ドル (start|stop)"
    exit 1
    ;;
    esac



    exit 0