[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