• # Chez moi

    Posté par . En réponse au message Limitation de la bande passante avec tc. Évalué à 3.

    Salut,

    J'utilise aussi tc et après quelques tests je pense que ça fonctionne chez moi. Voici par exemple comment je limite le trafic HTTP:


    if [ $(tc -d qdisc show dev eth0 | wc -l) != "1" ]; then
    tc qdisc del dev eth0 root
    fi
    iptables -t mangle -F

    tc qdisc add dev eth0 root handle 1: htb default 99 r2q 5

    # Classe HTTP = 40
    tc class add dev eth0 parent 1:0 classid 1:40 htb rate 256kbit burst 2k prio 4
    tc qdisc add dev eth0 parent 1:40 handle 140: sfq perturb 10
    tc filter add dev eth0 parent 1:0 protocol ip prio 4 handle 40 fw flowid 1:40

    # Marquage des paquets HTTP
    iptables -t mangle -A POSTROUTING -o eth0 -p tcp --tcp-flags SYN,ACK SYN,ACK --sport 80 -j CONNMARK --set-mark 40
    # Restore la marque sur les paquets identiques
    iptables -t mangle -A POSTROUTING -j CONNMARK --restore-mark


    En débit instantané je dépasse parfois les 256Kbps définis mais en débit moyen ça à l'air d'être environ 256Kbps.

    Pour information, l'attribut mbit est aussi compris par tc.