[technique] Partage de bande passante sur ligne ADSL

Cyril popolinux at gmail.com
Mar 6 Déc 13:18:23 CET 2011


Hello !

Après une petite journée de test en prod, je remarque dans le iftop que 
le débit en upload ne semble pas limité.
De plus, le ping continue à atteindre des seuils importants.

Dans le script, je fais des appels de ce type :
qos_by_ip_add_ip $ID_IP_QOS $ip_public 'src' 'tapstg' '700kbit'
(rappel des fonctions en fin de mail)

Si je ne me suis pas trompé en modifiant le script, la règle QoS est 
appliquée à tous le trafic provenant le l'IP publique, vers tapstg.

Néanmoins, un NAT 1:1 est en place entre les IP privées (172.16.X.X) et 
les IP publiques.
Est-ce que je ne devrais pas plutôt appliquer la QoS sur les IP privées 
? Ou c'est pareil ?

Merci :)
Cyril

function qos_by_ip_init {
         local dev=$1
         local rate=$2

         tc qdisc add dev $dev root handle 1: htb default 1
         tc class add dev $dev parent 1: classid 1:1 htb rate $rate
}

function qos_by_ip_add_ip {
         local id_host=$1
         local ip=$2
         local dir=$3
         local dev=$4
         local rate=$5

         echo "QoS IP $ip (id : $id_host) : $rate sur $dev";
         tc class add dev $dev parent 1: classid 1:$id_host htb rate $rate
         tc filter add dev $dev protocol ip parent 1:0 prio 1 u32 match 
ip $dir $ip flowid 1:$id_host
}


Le 05/12/2011 11:50, Laurent GUERBY a écrit :
> On Mon, 2011-12-05 at 10:52 +0100, Cyril wrote:
>> Bonjour Laurent,
> Bonjour Cyril,
>
>> Merci pour ton travail.
>>
>> Si je comprend bien :
>>        * La QoS sur le débit descendant est en place sur Paris car
>>          c'est le routeur Parisien qui collecte le flux et le renvoi
>>          par le biais du tunnel VPN ?
> Je n'ai pas activé les regles mais oui c'est l'idée. Je vais
> activer sur gw pour tapstg d'ici quelques minutes.
>
>>        * La QoS sur le débit descendant n'est pas encore gérée et doit
>>          être placée sur le serveur de routage local qui envoi le flux
>>          de données sur le GW à Paris ?
> Oui.
>
>> Dans le cas de St Gaudens, j'ai adapté un chouilla la syntaxe du
>> script pour garder une cohérence avec ceux déjà en place.
>> Je le met en fin de mail, pour toutes fins utiles.
> Je pense qu'il faut mettre dans le script :
>
> ID_IP_QOS=2
>
> (plutot que =1)
>
> La classid 1:1 est definie dans qos_by_ip_init les regles
> users doivent commencer a 1:2 sinon le premier user
> va partager le classid 1:1 avec le traffic non identifié.
>
> Pour le '700kbit' je n'ai pas mesuré j'ai mis au pif,
> l'idée est de se placer plutot en dessous (par tatonnement) : si ça
> marche on devrait avoir un ping qui redevient normal même
> en charge.
>
>> Sinon, est-t-il possible de flusher toutes les règles TC ?
>> Ce serait intéressant pour mon script.
> Pour voir les regles dans le detail :
>
> tc -s -d qdisc show dev $DEV
> tc -s -d class show dev $DEV
> tc -s -d filter show dev $DEV
>
> Pour supprimer :
>
> tc qdisc del dev $DEV root
>
>> Petite remarque :
>> Pour tapstg tu as mis "RATE=11000kbit" et pour les autres
>> "DOWN=5500kbit", sans doute une erreur ?
> Oui j'ai changé "DOWN" en "RATE" quand je me suis aperçu
> que les regles etaient les memes pour Paris et en local.
>
> Merci pour ta revue !
>
> Laurent
>
>



Plus d'informations sur la liste de diffusion technique