nico002 a écrit 3 commentaires

  • # [RESOLU]

    Posté par  . En réponse au message [RESOLU][PROXY+bandwidth shaping]: iptables et connbytes. Évalué à 0.

    @seb: POSTROUTING à la place de OUTPUT ne change rien dans mon cas. C'est normal puisque POSTROUTING arrive après OUTPUT, si ça fonctionne pas avec OUTPUT ça marchera encore moins avec POSTROUTING sauf pour les paquets FORWARD biensur mais comme c'est l'upload du serveur proxy que je veux ralentir les paquets FORWARD ne m'intéresse pas dans mon cas. Néammoins merçi pour le lien je l'ai étudié en détails et trouvé la différence qui apparement était la cause de mon problème. J'utilisais la file htb a la place de hfsc. Maintenant ça fonctionne parfaitement.

    @Tanguy Ortolo: oui les utilisateurs devront utiliser le proxy pour pouvoir surfer sur le web.

    Voici mon script finale pour ceux que ça intéresse:

    #!/bin/sh
    
    start(){
        stop
        echo -e "    [TC]      : DEFAULT CLASS ROOT";
        tc qdisc add dev eth0 root handle 1: hfsc default 10
    
        tc class add dev eth0 parent 1: classid 1:1 hfsc sc rate \
            999999999kbit ul rate 999999999kbit
    
        echo -e "    [TC]      : CLASS 10 SET SPEED 999999999kbit/s";
        tc class add dev eth0 parent 1:1  classid 1:10 hfsc \
        sc rate 999999999kbit ul rate 999999999kbit
    
        echo -e "    [IPTABLES]: DOWNLOAD > 100MB ==> MARK 0x14";
        echo -e "    [TC]      : CLASS 20 SET SPEED 9000kbit/s";
        tc class add dev eth0 parent 1:1  classid 1:20 hfsc \
            sc rate 9000kbit ul rate 9000kbit
    
        echo -e "    [TC]      : ASSOCIATE PKT MARK 0xa TO CLASS 10";
        tc filter add dev eth0 parent 1:0 prio 0 protocol ip handle 10 fw flowid 1:10
        echo -e "    [TC]      : ASSOCIATE PKT MARK 0x14 TO CLASS 20"; 
        tc filter add dev eth0 parent 1:0 prio 0 protocol ip handle 20 fw flowid 1:20
    }
    stop(){
        tc qdisc del dev eth0 root    2> /dev/null > /dev/null;
        tc qdisc del dev eth0 ingress 2> /dev/null > /dev/null;
    } 
    
    case "$1" in
        start)
            echo -e "\033[1;31m-------------------------------------------------------------------------------\033[00m";
            echo -e "\033[1;31mStarting bandwidth shaping ...\033[00m";
            start
            echo -e "\033[1;31m[DONE]\033[00m";
            echo -e "\033[1;31m-------------------------------------------------------------------------------\033[00m";
            ;;
        stop)
            echo -e "\033[1;31m-------------------------------------------------------------------------------\033[00m";
            echo -e "\033[1;31mStopping bandwidth shaping ...\033[00m";
            echo -e "    [TC]      : DELETE THE ROOT QDISC";
            stop
            echo -e "\033[1;31m[DONE]\033[00m";
            echo -e "\033[1;31m-------------------------------------------------------------------------------\033[00m";
            ;;
        restart)
            $0 stop
            $0 start
            ;;
        *)
            echo "Usage: $0 {start|stop|restart}"
            ;;
    esac
    
    exit 0;
    
  • # [RESOLU]

    Posté par  . En réponse au message [RESOLU][PROXY+bandwidth shaping]: iptables et connbytes. Évalué à 0.

    @seb: POSTROUTING à la place de OUTPUT ne change rien dans mon cas. C'est normal puisque POSTROUTING arrive après OUTPUT, si ça fonctionne pas avec OUTPUT ça marchera encore moins avec POSTROUTING sauf pour les paquets FORWARD biensur mais comme c'est l'upload du serveur proxy que je veux ralentir les paquets FORWARD ne m'intéresse pas dans mon cas. Néammoins merçi pour le lien je l'ai étudié en détails et trouvé la différence qui apparement était la cause de mon problème. J'utilisais la file htb a la place de hfsc. Maintenant ça fonctionne parfaitement.

    @Tanguy Ortolo: oui les utilisateurs devront utiliser le proxy pour pouvoir surfer sur le web.

    Voici mon script finale pour ceux que ça intéresse: @seb: POSTROUTING à la place de OUTPUT ne change rien dans mon cas. C'est normal puisque POSTROUTING arrive après OUTPUT, si ça fonctionne pas avec OUTPUT ça marchera encore moins avec POSTROUTING sauf pour les paquets FORWARD biensur mais comme c'est l'upload du serveur proxy que je veux ralentir les paquets FORWARD ne m'intéresse pas dans mon cas. Néammoins merçi pour le lien je l'ai étudié en détails et trouvé la différence qui apparement était la cause de mon problème. J'utilisais la file htb a la place de hfsc. Maintenant ça fonctionne parfaitement.

    @Tanguy Ortolo: oui les utilisateurs devront utiliser le proxy pour pouvoir surfer sur le web.

    Voici mon script finale pour ceux que ça intéresse:

    #!/bin/sh
    
    start(){
        stop
        echo -e "    [TC]      : DEFAULT CLASS ROOT";
        tc qdisc add dev eth0 root handle 1: hfsc default 10
    
        tc class add dev eth0 parent 1: classid 1:1 hfsc sc rate \
            999999999kbit ul rate 999999999kbit
    
        echo -e "    [TC]      : CLASS 10 SET SPEED 999999999kbit/s";
        tc class add dev eth0 parent 1:1  classid 1:10 hfsc \
        sc rate 999999999kbit ul rate 999999999kbit
    
        echo -e "    [IPTABLES]: DOWNLOAD > 100MB ==> MARK 0x14";
        echo -e "    [TC]      : CLASS 20 SET SPEED 9000kbit/s";
        tc class add dev eth0 parent 1:1  classid 1:20 hfsc \
            sc rate 9000kbit ul rate 9000kbit
    
        echo -e "    [TC]      : ASSOCIATE PKT MARK 0xa TO CLASS 10";
        tc filter add dev eth0 parent 1:0 prio 0 protocol ip handle 10 fw flowid 1:10
        echo -e "    [TC]      : ASSOCIATE PKT MARK 0x14 TO CLASS 20"; 
        tc filter add dev eth0 parent 1:0 prio 0 protocol ip handle 20 fw flowid 1:20
    }
    stop(){
        tc qdisc del dev eth0 root    2> /dev/null > /dev/null;
        tc qdisc del dev eth0 ingress 2> /dev/null > /dev/null;
    } 
    
    case "$1" in
        start)
            echo -e "\033[1;31m-------------------------------------------------------------------------------\033[00m";
            echo -e "\033[1;31mStarting bandwidth shaping ...\033[00m";
            start
            echo -e "\033[1;31m[DONE]\033[00m";
            echo -e "\033[1;31m-------------------------------------------------------------------------------\033[00m";
            ;;
        stop)
            echo -e "\033[1;31m-------------------------------------------------------------------------------\033[00m";
            echo -e "\033[1;31mStopping bandwidth shaping ...\033[00m";
            echo -e "    [TC]      : DELETE THE ROOT QDISC";
            stop
            echo -e "\033[1;31m[DONE]\033[00m";
            echo -e "\033[1;31m-------------------------------------------------------------------------------\033[00m";
            ;;
        restart)
            $0 stop
            $0 start
            ;;
        *)
            echo "Usage: $0 {start|stop|restart}"
            ;;
    esac
    
    exit 0;
    
  • # [RESOLU]

    Posté par  . En réponse au message [RESOLU][PROXY+bandwidth shaping]: iptables et connbytes. Évalué à 1.

    @seb: POSTROUTING à la place de OUTPUT ne change rien dans mon cas. C'est normal puisque POSTROUTING arrive après OUTPUT, si ça fonctionne pas avec OUTPUT ça marchera encore moins avec POSTROUTING sauf pour les paquets FORWARD biensur mais comme c'est l'upload du serveur proxy que je veux ralentir les paquets FORWARD ne m'intéresse pas dans mon cas. Néammoins merçi pour le lien je l'ai étudié en détails et trouvé la différence qui apparement était la cause de mon problème. J'utilisais la file htb a la place de hfsc. Maintenant ça fonctionne parfaitement.

    @Tanguy Ortolo: oui les utilisateurs devront utiliser le proxy pour pouvoir surfer sur le web.

    Voici mon script finale pour ceux que ça intéresse:

    #!/bin/sh
    
    start(){
        stop
        echo -e "    [TC]      : DEFAULT CLASS ROOT";
        tc qdisc add dev eth0 root handle 1: hfsc default 10
    
        tc class add dev eth0 parent 1: classid 1:1 hfsc sc rate \
            999999999kbit ul rate 999999999kbit
    
        echo -e "    [TC]      : CLASS 10 SET SPEED 999999999kbit/s";
        tc class add dev eth0 parent 1:1  classid 1:10 hfsc \
        sc rate 999999999kbit ul rate 999999999kbit
    
        echo -e "    [IPTABLES]: DOWNLOAD > 100MB ==> MARK 0x14";
        echo -e "    [TC]      : CLASS 20 SET SPEED 9000kbit/s";
        tc class add dev eth0 parent 1:1  classid 1:20 hfsc \
            sc rate 9000kbit ul rate 9000kbit
    
        echo -e "    [TC]      : ASSOCIATE PKT MARK 0xa TO CLASS 10";
        tc filter add dev eth0 parent 1:0 prio 0 protocol ip handle 10 fw flowid 1:10
        echo -e "    [TC]      : ASSOCIATE PKT MARK 0x14 TO CLASS 20"; 
        tc filter add dev eth0 parent 1:0 prio 0 protocol ip handle 20 fw flowid 1:20
    }
    stop(){
        tc qdisc del dev eth0 root    2> /dev/null > /dev/null;
        tc qdisc del dev eth0 ingress 2> /dev/null > /dev/null;
    } 
    
    case "$1" in
        start)
            echo -e "\033[1;31m-------------------------------------------------------------------------------\033[00m";
            echo -e "\033[1;31mStarting bandwidth shaping ...\033[00m";
            start
            echo -e "\033[1;31m[DONE]\033[00m";
            echo -e "\033[1;31m-------------------------------------------------------------------------------\033[00m";
            ;;
        stop)
            echo -e "\033[1;31m-------------------------------------------------------------------------------\033[00m";
            echo -e "\033[1;31mStopping bandwidth shaping ...\033[00m";
            echo -e "    [TC]      : DELETE THE ROOT QDISC";
            stop
            echo -e "\033[1;31m[DONE]\033[00m";
            echo -e "\033[1;31m-------------------------------------------------------------------------------\033[00m";
            ;;
        restart)
            $0 stop
            $0 start
            ;;
        *)
            echo "Usage: $0 {start|stop|restart}"
            ;;
    esac
    
    exit 0;