Bonjour,
Je cherche à configurer un routeur linux (PC debian squeeze) pour que la bande passante internet qu'il distribue à plein d'utilisateurs soit à peu près partagée.(pour l'instant il est configuré en routeur NAT avec un proxy transparent, donc les gentils utilisateurs subissent les moins gentils)
J'ai lu un peu de documentation sur 'tc', sur les qdiscs HTB,CQB.... et je me pose des questions assez générales:
1) beaucoup de documentations parlent de linux 2.4 ? Est-ce que 'tc' (qui visiblement est la partie utilisateur du bidule dans le noyau) est toujours ce qui se fait de mieux dans ce domaine ?
2) j'ai l'impression que CQB est plus ou moins en retrait par rapport à HSCB et HTB (plus récent) ?
3) mon premier objectif serait de comptabiliser la 'consommation internet' d'une IP et de "pénaliser" (le tout automatiquement) les très gros téléchargeurs pendant les heures de pointe...
exemple: A télécharge à 100% de la BP totale de 4 à 6h du matin, puis B,C,D,E,F se réveillent mais A n'arrête pas pour autant son téléchargement, donc ce serait bien que B,C,D,E,F se partagent presque l'intégralité de la bande passante au détriment de A (disons au moins jusqu'à ce que B,C,D,E,F aient téléchargé la même quantité .... )
est-ce trop naïf ? est-ce jouable ?
merci d'avance
Merci pour vos conseils
# qq réponses
Posté par Leroy Frederic (site web personnel) . Évalué à 2.
2) Je ne connais pas trop cbq. Hscb et htb te permettent de mettre des contraintes styles b,c,d,e,f ont 20% de la bande passante garantie et a 0% bien sûr :).
3) à l'aide des compteurs iptables et de scripts, tu dois pouvoir reconfigurer tes ordonnanceurs.
4) Tu as un gros problème ... un proxy transparent. Il faut que tu fasse la police à l'entrée de ton proxy (imq de mémoire ...)
[^] # Re: qq réponses
Posté par EraZerg . Évalué à 1.
concernant 4) je n'ai pas compris ta remarque ? c'est quoi le probleme de proxy transparent, c'est legal ou technique ?
[^] # Re: qq réponses
Posté par Leroy Frederic (site web personnel) . Évalué à 2.
Tu n'a aucun pouvoir sur les paquets qui arrivent : Ils arrivent et ton noyau les traites. Que tu droppes des paquets en entrée ou non, ne change rien à la bande passante utilisée sur ce lien puisque tu ne contrôles pas leur émission.
C'est pour ça qu'on attache des ordonnanceurs en général en sortie d'interface, car tu contrôles l'émission des paquets sur ce lien.
Néanmoins, tu peux dropper en entrée à l'aide d'interface réseau virtuelle (imq/) qui sert uniquement à attacher tes ordonnanceurs (qui agissent sur la sortie d'une interface réseau). L'interface agit comme un tampon, mais le mal est déjà fait car les paquets ont déjà transité sur ton réseau interne.
En clair, l'ordonnancement en entrée a un mauvais rendement et la norme est de mettre des ordonnanceurs en sortie :)
Pourquoi je t'en parles ? Parce que si tu as un proxy transparent (je suppose squid/dnsmasq avec du nat), toutes tes connexions sortent sur Internet avec la même adresse IP.
Tu ne pourras donc pas discriminer les flux en sorties suivant l'utilisateur, d'où la nécessité de filtrer en entrée avec imq.
[^] # Re: qq réponses
Posté par EraZerg . Évalué à 1.
visiblement, t'as du dire une bétise parceque ton commentaire à été massacré sans autre explication. Les tontons flingueurs surement.... avec silencieux....
je tente une explication sans être 100% certain:
le proxy ne change pas grand chose à la donne, la qualité de service est là pour aider à un bon partage de la bande passante, hors le proxy c'est uniquement un logiciel qui met en cache certaines des données d'un certain type d'utilisation de cette bande passante (le web)
Tes remarques sur le fait qu'on ne controle pas ce qui arrive en entrée, je les ai lues plusieurs fois sur les HOWTO de QOS mais dans tous les cas, le proxy me semble innocent...... d'où mon incompréhension.........
bon, j'enfile mon gilet pare-`-1` et je met mon doigt sur ma souris en attendant :-)
[^] # Re: qq réponses
Posté par Leroy Frederic (site web personnel) . Évalué à -1.
Bref Linuxfr comme forum, c'est pas la panacée. Les notes servent à rien, les utilisateurs ne notent pas suivant le contenu des posts.
(En plus, j'avais posté un 2eme commentaire hier, sur ta file, qui est visiblement passé à la trappe)
Si j'ai dit une bêtise, j'aimerais qu'un contradicteur se manifeste ...
Que fait ton proxy ? Il choppe toutes les requêtes http. Si la requête n'est pas dans le cache, il va chercher lui-même (avec sa propre adresse ip et son propre adresse source) la page (du côté de l'interface wan), perdant ainsi l'origine de la source. Si tu veux inclure le web dans ta qos, il pose problème pour différencier tes utilisateurs car les règles se mettent sur l'interface de sortie en général comme je l'ai déjà dit et tout ce que tu verras ici, c'est les requêtes d'un même et unique utilisateur : ton proxy.
Comme tu ne peux pas différencier tes flux web en sortie, tu es obligé de le faire en entrée.
# Commentaire supprimé
Posté par Anonyme . Évalué à 2.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: iptables + tc
Posté par EraZerg . Évalué à 2.
a priori je ne sais pas qui telecharge le plus. et puis visiblement d'autres ont commente que ma strategie etait trop naive...... mais je vais garder tes exemples dans mon sac d'outils.
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 3.
Ce commentaire a été supprimé par l’équipe de modération.
# QoS
Posté par Mathias Bavay (site web personnel) . Évalué à 1.
Mathias
PS: je l'utilise via un router Linksys WRT54GL tournant sous ddwrt, c'est vraiment un gros plus pour le confort d'utilisation
[^] # Re: QoS
Posté par EraZerg . Évalué à 1.
j'ai moi aussi un routeur WRT54GL, je vais regarder si j'arrive a comprendre ce qu'il fait precisement lors j'active la QOS (par contre je suis sous openwrt). Ce sera une source d'inspiration pour fabriquer mon routeur.
# Une réponse
Posté par nicolas . Évalué à 3.
2) CQB semble plus difficile à paramétrer surtout, alors qu’HTB est ultra simple. Donc forcément…
3) trop naïf : oui, car ça va pénaliser ceux qui font attention de télé-charger en « heures creuses »… si c’est à faire il faudra peut-être veiller à associer un poids plus important aux téléchargements en « heures pleines », ie. ne pénaliser que si la bande passante est demandée. en tout cas avec tc c’est faisable, avec un script qui tourne et se réveille de temps à autre : tc -s class/qdisc show (de mémoire) permet de voir la quantité échangée depuis le début de la configuration (donc par différence de savoir la quantité télé-chargée entre deux dates, et la vitesse moyenne), et ce dans chaque class/qdisc. Ça demande un peu de boulot. D’où le point 1 :(.
[^] # Re: Une réponse
Posté par EraZerg . Évalué à 1.
bon point pour 3)
finalement il faudrait que ce soit encore plus fin que l'addresse IP, peut-etre par connection ? ce serait super de pouvoir penaliser uniquement le flux (genre telecharment d'une enorme ISO).... apres tout, il ne serait effectivement pas interdit de telecharger massivement la nuit et de faire du web le jour.... Le probleme c'est que c'est delicat de faire le tri entre les appli, du coup, je me disais que le vrai critere c'etait le volume deja transfere.....
[^] # Re: Une réponse
Posté par Mathias Bavay (site web personnel) . Évalué à 3.
Au lieux de comptabiliser la somme du trafic sur 24 heures (qui est plus ou moins ce que tu proposes), ne vaut-il pas plutôt simplement partager la bande passante disponible? C'est à dire, au lieux de dire "A a téléchargé 1G cette nuit, donc B à doit à 1G tout de suite", simplement dire "A à droit à (bande passante disponible)/(nombre d'utilisateurs)", éventuellement moyenné sur les dernières 15 minutes (mais une telle répartition doit bein être déjà disponible quelque par comme configuration standard!).
Ceci revient à favoriser les gros usages de bande passante pendant les heures creuses (car il n'y a pas de compétition, donc beaucoup de débit disponible) et à pénaliser quelqu'un qui consommerais beaucoup quand tout le monde à besoin de la bande passante. Évidement, si il y a derrière une tarification à la quantité échangée, cela ne sert à rien (mais je doute que se soit le cas!)
Mathias
PS: c'est tellement naïf que je me dis que c'est ce qui doit être le comportement par défaut de partout, mais bon...
[^] # Re: Une réponse
Posté par EraZerg . Évalué à 1.
par contre, il me vient des idées de contournement de tous ces dispositifs:
si j'étais utilisateur d'un réseau avec QOS basé sur l'IP ou la MAC, ne me suffirait-il pas de déclarer 42 interfaces virtuelles sur mon PC et de faire un demande d'addresse IP de plus puis de lancer je-ne-sais-comment (on appelle ça une expérience de pensée en physique) mes 42 applis consommatrices de bande passante ?
[^] # Re: Une réponse
Posté par Leroy Frederic (site web personnel) . Évalué à 0.
- "l'utilisateur" : par exemple l'IP -> htb ou hsfc en gros :)
- les flux générés par cet utilisateurs : le quintuple classique (ip src,dst, port src, dst, proto)
Le principe d'htb, c'est de faire un arbre pour définir tes contraintes ( par exemple la racine avec tous les utilisateurs qui ont le même minimum garanti). C'est le niveau "utilisateur"
Après, à chaque feuille de ton htb tu peux attacher une queue (qdisc) qui pénalise les connexions longues : par exemple sfq.
# Shorewall
Posté par Benoit . Évalué à 1.
La page suivante décrit les possibilités de "Shorewall" en termes de qualité de service.
[^] # Re: Shorewall
Posté par Benoit . Évalué à 2.
La page suivante décrit les possibilités de "Shorewall" en termes de qualité de service :
[http://www.shorewall.net/traffic_shaping.htm]
# j'arrive peut être après la bataille
Posté par briaeros007 . Évalué à 4.
Ce qui est fait traditionnellement, c'est
1°) Définir si des flux sont prioritaires (ACK par exemple, flux ssh ou d'administration).
Ceux là ont une priorité élevée (utilisation de "prio").
2°) Ensuite, sur une priorité moins élevée :
a- allouer à tout le monde une réservation qui correspond à (n+m)/(bp_cx-K)
ou n est le nombre de connexion
m le nombre de canaux de garde (ie réservé pour une utilisation future etc...)
bp_cx la bande passante de ta connexion
K la bande passante utilisé par les flux prioritaires
b- permettre à tout le monde d'utiliser la bande passante non utilisée.
Tu peux utiliser HTB pour le faire, ou d'autres files (sfq, RED, ...). Chacune a ses particularité et dépend du contexte d'utilisation.
Dans un cadre général, HTB est largement suffisant.
Ainsi : certains flux sont sur de passer.
tout le monde est sur d'avoir un minimum de bande passante.
Celui qui a lancé le téléchargement n'utilise que ce qui n'est pas réservé.
Si deux utilisateurs dépassent leur réservation, ca sera en round robin/...
Ensuite en ce qui concerne le drop de paquet sur l'interface d'entrée : cela n'a pas d'effet en "général", mais en "particulier" sur un flux tcp, cela à bel et bien un effet.
Les fenêtres de transmissions vont être diminuée, etc...
[^] # Re: j'arrive peut être après la bataille
Posté par EraZerg . Évalué à 1.
je crois que je vais partir sur HTB.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.