Re: Limiter la vitesse de download

Page principale

Répondre à ce message
Auteur: Frédéric Bouquet
Date:  
À: Frédéric
CC: Guilde
Sujet: Re: Limiter la vitesse de download
Salut,

Sinon il doit y avoir moyen de faire de la qualité de service (qos)
avec iptables. Par contre, jamais fait donc je pointe juste une
direction :)


Le 20 septembre 2016 à 13:08, Frédéric <fma38@???> a écrit :
> Le 20/09/2016, Frédéric a écrit :
>
>> Hello,
>>
>> J'ai des soucis avec mon routeur, qui plante la connexion dès que
>> j'utilise toute la bande passante (pendant un gros téléchargement).
>>
>> Du coup, je voudrais limiter la vitesse de download sur ma machine.
>>
>> Quelqu'un aurait-il un bout de script qui permet de faire ça simplement ?
>> J'en ai trouvé sur le net, mais qui ne fonctionne pas :o(
>
> Bon, j'ai finalement trouvé ; en fait, dans les codes que j'avais vu, il
> fallait que ça se fasse sur un routeur (entrée par une interface, sortie
> par une autre).
>
> Si on veut le faire sur une machine en bout, il faut créer une interface
> de type ifb (Intermediate Functional Block).
>
> Ci-joint le code que j'ai écris, qui est une synthèse de plusieurs codes.
>
> Si vous voyez des trucs louches, n'hésitez pas à commenter ; je ne
> maîtrise pas tout, même si j'ai à peu près saisi ce que ça fait...
>
> --------------------------------------------------------------------
>
> #!/bin/bash
>
> # Rates
> UPLINK=1Mbps
> DOWNLINK=1Mbps
>
> # Interfaces
> IFB=ifb0
> DEV=eth0
>
> start()
> {
>     modprobe ifb
>     ip link set dev $IFB up

>
>     tc qdisc add dev $DEV ingress
>     tc filter add dev $DEV parent ffff: protocol ip u32 match ip \
>       dst 0/0 flowid 1:1 action mirred egress redirect dev $IFB

>
>     tc qdisc add dev $DEV root handle 1:0 htb default 1
>     tc class add dev $DEV parent 1:0 classid 1:1 htb rate ${UPLINK}

>
>     tc qdisc add dev $IFB root handle 1:0 htb default 1
>     tc class add dev $IFB parent 1:0 classid 1:1 htb rate ${DOWNLINK}
> }

>
> stop()
> {
>     tc qdisc del dev $DEV root
>     tc qdisc del dev $DEV ingress
>     tc qdisc del dev $IFB root

>
>     rmmod ifb
> }

>
>
> case "$1" in
>
>   start)
>     start
>     ;;

>
>   stop)
>     stop
>     ;;

>
> *)
>
>     echo "Usage: speed_limit.sh {start|stop}"
>     ;;
> esac

>
> exit 0
>
> --
>     Frédéric

>




--
Frédéric Bouquet
Twitter/Github : bouquetf
http://gopotentiel.com
http://espacedefouille.org/