Réaliser de la QoS

Bonjour à tous,

dans un précédent post j’avais poser une question pour réaliser de la QoS (gestion de bande passante, priorité).

Fran.b m’avait indiqué sont script que j’étudie actuellement.

Auriez-vous d’autre lien tuto, explication pour mettre ca en place, car la je mi perd un peu :slightly_smiling:

Merci

guigui69

Le script gère une bande passante (ici en upload, tu dois adapter pour le traffic descendant).
DEV=eth1 est l’interface d’où vient le traffic à gérer.

Le script coupe la bande passante en 7 parties P0,P1,…,P6 de taille Pi*UNITE en K/s, la bande passante totale est donc de (P0+P1+P2+P3+P4+P5+P6)*UNITE K/s

Chaque Pi correspond à une file numéro i et correspond à la bande passante minimale allouée (en clair, toute la bande passante sera utilisée et chaque file aura un débit d’au moins Pi*UNITE K/s (débit minimum donc si elle veut l’utiliser))

La file 0 est prioritaire sur la 1 qui est prioritaire sur la 2 etc…

les paquets sont distribués dans les files par un marquage adéquat (set-mark de iptables, la file i correspond à la marque 20+i)

La fonction affecte permet de marquer simplement les paquets. Ainsi

affecte “Exemple” s 12345 tcp 4

mettra dans la file 4 tout le traffic ayant comme origine le port 12345.

Pour bétonner CounterStrike, il suffit de faire

affecte “CounterStrike” d 27000:27045 udp 0
affecte “CounterStrike” s 27000:27030 udp 0

Cela donne aux paquets liés à ce jeu la priorité 0. Outre donc un débit assuré, le ping reste excellent même en cas de gros chargement. Cela a permis à mon ainé d’avoir un serveur CS utilisable même si des gens téléchargeait sur mon site.

Tu peux régler la priorité des classes ici (paramètre prio)

tc class add dev $DEV parent 1:1 classid 1:25 htb \ rate $[($RATEUP*$P5)/$PART]kbit \ ceil ${RATEUP}kbit prio 5

Maintenant il s’agit de voir ce que tu veux faire (réserver une part minimum à chacun avec une priorité équivalente, faire ça de façon dynamique ou bien gérer effectivement des priorités dans les services…)

Merci pour cette réponse.

En fait je dispose d’un accès adsl (2448/347)
Je voudrait que les requêtes DNS, envoie mail (smtp) reception mail (pop) soit prioritaire.
Après en second la partie surf.

Et dans la partie surf internet faire un partage de connexion, dans le sens si il y a 10 utilisateurs sur le net, la BP soit partager entre eu (pas un mec qui sature toute la BP pendant que les 9 autres rame).

Dans pour le traffic prioritaire, ça se fait très bien. Pour le traffic descendant, as tu un nombre précis de personnes concernés ou cela varie de 1 à 100? (Si ça ne varie pas trop avec un maximum raisonnable, tu peux allouer un minimum fixe par exemple). Ils ont des adresses IP connues ou là encore c’est variable?

Note que c’est plus compliqué de gérer le flux descendant que tu controles moins que le flux montant…

Bonjour,

en terme de personne je pense que cela va de 2-12 en même temps sur internet. les adresse ip sont inconnues.

  • Les requêtes dns , envoi et réception de mail se trouve sur 2 serveurs.
  • Après c’est pour le partage de connexion entre plusieurs user.

merci

guigui69

j’avance doucement dans l’etude de ton script.

Pour notre utilisation (pro) j’ai relevé 4 séparation:
P0 = requete dns, envoi mail (smtp), Outil metier
p1= http, https, ftp, ftp-data
p2= ping, ssh, vnc
p3= autres

En upload nous disposons de 347kb up donc 300kb (80% BP).

donc:
p0=16
p1=14
p2=4
p3=3

Est-ce que le début de ma démarche est bonne?

guigui69