[IPROUTE] configuration HTB

configuration HTB [IPROUTE] - réseaux et sécurité - Linux et OS Alternatifs

Marsh Posté le 24-02-2003 à 19:56:38    

j'essaie de construire mes classes iproute par htb. Mais dès la première commande qq chose foire. Lorsque je lance:
 
[g]tc qdisc add dev ppp0 root handle 1: htb default 1[/g]
 
il me retourne [g]RTNETLINK answers: Invalid argument[/g]  :heink:  
 
pourtant la commande est conforme au man tc-htb
[g]tc qdisc ... dev[/g] dev [g](parent[/g] classid [g]| root) [handle[/g] major[g]:] htb [default [/g]minor-id[g]][/g]
 
j'ai chargé le module sch_htb.
Je vois pas d'où ça foire...  :pfff:


 
RESOLU
 
 
priorités sur les classes 1:10, 1:20... non prises en comptes:
 
en fait, la classe 1:10 correspond à eth0, 1:20 à eth1 et 1:30 à eth2.
 
Je veux donc leur répartir la bande passante (les valeurs ici sont que pour les essais) et donner la priorité à eth0. Par exemple si je mets un CEIL au max et un RATE à la moitié pour les 3:  
- je veux que eth0 et eth1 (en haute priorité) prennent toute la bande passante à hauteur de la moitié chacun au détriment de eth2.
 
Bon je ne sais pas si c'est très clair car quand j'écris, je me rends compte que l'explication n'est pas évidente  [:lex]  
 
Les autres règles (1:10X) correspondent aux règles de répartition du trafic selon l'interface eth considérée: eth0: navigation web et trafic intéractif, eth1 serveur web/ftp, eth2: partage internet wifi limité...Là les priorités sont bien prises en compte.
 
Pour les handles, si le root est toujours en 1:, alors tous les autres ont un major à 1??? Si je veux créer d'autres règles entre eth0 et eth1 (donc en plus des règles ppp0 en 1:), il faut créer un root en 1: ou 2: sur dev eth1?
 
Je remets mon tc show pour l'exemple:
 

class htb 1:101 parent 1:10 prio 1 rate 42Kbit ceil 64Kbit burst 75b cburst 1679b  
class htb 1:10 root rate 64Kbit ceil 128Kbit burst 155b cburst 1753b  
class htb 1:302 parent 1:30 prio 2 rate 42Kbit ceil 128Kbit burst 155b cburst 1753b  
class htb 1:20 root rate 64Kbit ceil 128Kbit burst 155b cburst 1753b  
class htb 1:301 parent 1:30 prio 1 rate 42Kbit ceil 64Kbit burst 75b cburst 1679b  
class htb 1:102 parent 1:10 prio 2 rate 42Kbit ceil 128Kbit burst 155b cburst 1753b  
class htb 1:201 parent 1:20 prio 1 rate 42Kbit ceil 64Kbit burst 75b cburst 1679b  
class htb 1:30 root rate 64Kbit ceil 128Kbit burst 155b cburst 1753b  
class htb 1:104 parent 1:10 prio 4 rate 42Kbit ceil 128Kbit burst 155b cburst 1753b  
class htb 1:204 parent 1:20 prio 4 rate 64Kbit ceil 128Kbit burst 155b cburst 1753b  
class htb 1:304 parent 1:30 prio 4 rate 42Kbit ceil 128Kbit burst 155b cburst 1753b


 
Pour le réglage du burst, je suis également preneur de conseils  [:xfalken]


Message édité par bobor le 25-02-2003 à 11:38:05

---------------
Gitan des temps modernes
Reply

Marsh Posté le 24-02-2003 à 19:56:38   

Reply

Marsh Posté le 24-02-2003 à 20:28:34    

essaye :
tc qdisc add dev ppp0 root handle 1:0 htp
ou
tc qdisc add dev ppp0 root handle 1:1 htp
ton kernel est OK au moins pour le htb? autrement essaye plutot cbq


Message édité par nikosaka le 24-02-2003 à 20:29:20
Reply

Marsh Posté le 24-02-2003 à 20:35:49    

le kernel est OK.
par exemple quand je lance la commande avec htp (qui n'existe pas) au lieu de htb, il me répond qu'il ne connait pas qdisc htp. Or il ne me fait pas cette erreur avec htb. Donc htb est bien reconnu par le kernel  :whistle:  
 
je pense que le problème vient du paramètre default.
 
j'ai essayé avec handle 1: 1:0 1:1 avec ou sans default
toujours pareil


---------------
Gitan des temps modernes
Reply

Marsh Posté le 24-02-2003 à 20:47:37    

exact pour htp héhé. Jai fait un copier coller de ta ligne je pensais que le pb venait de default.
que te donne un : tc qdisc show dev ppp0
si ça te renvoie quelque chose tape tc qdisc del dev ppp0 root
puis recommence avec :
tc qdisc add dev ppp0 root handle 1: htb bandwidth 10mbit
(normalement ça marche bien abec cbq)

Reply

Marsh Posté le 24-02-2003 à 20:56:50    

le show ne renvoie rien. Le paramètre bandwith n'est pas reconnu par htb ("what is bandwith?" puis aide affichée).
 
Cela me conforte dans l'idée que c'est default qui foire.


---------------
Gitan des temps modernes
Reply

Marsh Posté le 24-02-2003 à 21:08:07    

ça devrait marcher sans spécifier l'option default, car le nombre mineur par défaut d'une qdisc est 0 (en cbq ou htb).
donc tc qdisc add dev ppp0 root handle 1: htb est équivalent à  
tc qdisc add dev ppp0 root handle 1:0 htb qui je pense est équivalent à  
tc qdisc add dev ppp0 root handle 1: htb default 0
 
Bref regarde plutôt du côté de ta version de tc/iproute2

Reply

Marsh Posté le 24-02-2003 à 21:13:58    

c'est la version 20010824-r2 (gentoo)
et noyau 2.4.19
 
et je suis d'accord avec toi c'est pourquoi je bloque totalement


---------------
Gitan des temps modernes
Reply

Marsh Posté le 24-02-2003 à 21:39:21    

bon je vois plus là.
Mais au lieu de te prendre la tête avec htb essaye plutôt cbq.
La syntaxe est un peu plus chiante par contre  :D  

Reply

Marsh Posté le 24-02-2003 à 21:40:23    

bah vi c'est pour ça que je voulais htb pour commencer  :D


---------------
Gitan des temps modernes
Reply

Marsh Posté le 24-02-2003 à 21:46:48    

la commande es acceptée en cbq. Mais j'y comprends vraiment rien au cbq. C'est fou que j'y arrive avec le mode le plus complexe et pas avec le mode pour débutant!  :fou:  
 
ça confirme également que c'est un problème de paramètre dans htb. Et je voudrais vraiment faire du htb car cbq :pt1cable:


---------------
Gitan des temps modernes
Reply

Marsh Posté le 24-02-2003 à 21:46:48   

Reply

Marsh Posté le 24-02-2003 à 21:52:05    

bah avec un peu de temps du courage et quelques bon howto ca va tout seul  ;)

Reply

Marsh Posté le 24-02-2003 à 22:02:15    

bon à priori c'est iproute qui n'est pas patché pour htb  :(  
 
le kernel est OK.
 
Je vais faire un tour sur le forum gentoo pour voir s'il y a une soluce en emerge


---------------
Gitan des temps modernes
Reply

Marsh Posté le 24-02-2003 à 22:14:01    

bon j'ai remplacé le tc par un tc patché et tout roule  :sol:  [:spykem@n]


---------------
Gitan des temps modernes
Reply

Marsh Posté le 24-02-2003 à 22:16:48    

par contre si vous pouviez m'aider pour avancer dans ce script http://forum.hardware.fr/forum2.ph [...] =1#t228023  [:lex]


---------------
Gitan des temps modernes
Reply

Marsh Posté le 25-02-2003 à 01:24:53    

Maintenant j'ai un problème de handle à priori. J'explique:
- j'ai créer le root en 1:
- j'ai créer des classes 1:1 et 1:2 avec 1: comme parent
- j'ai créer des classes 1:10 1:20 ... avec 1:1 comme parent
le tout en HTB
mais je n'arrive pas à créer des classes 2:10 2:20 ... avec 1:2 comme parent. Il me sors Invalid Argument
 
un tc class show dev ppp0 donne:

class htb 1:1 root rate 64Kbit ceil 128Kbit burst 1531b cburst 1753b  
class htb 1:10 parent 1:1 prio 1 rate 42Kbit ceil 64Kbit burst 1532b cburst 1679b  
class htb 1:20 parent 1:1 prio 2 rate 42Kbit ceil 128Kbit burst 1532b cburst 1753b  
class htb 1:2 root prio 1 rate 64Kbit ceil 128Kbit burst 1531b cburst 1753b  
class htb 1:40 parent 1:1 prio 4 rate 42Kbit ceil 128Kbit burst 1532b cburst 1753b


 
quelle est la règle pour les handles? Ai-je le droit de créer une classe 2:10 avec 1:2 comme parent?
 
 [:xfalken]


Message édité par bobor le 25-02-2003 à 01:52:34

---------------
Gitan des temps modernes
Reply

Marsh Posté le 25-02-2003 à 01:54:40    

j'ai mis tous les handle major à 1 et ça marche.

class htb 1:101 parent 1:10 prio 1 rate 42Kbit ceil 64Kbit burst 1532b cburst 1679b  
class htb 1:10 root rate 64Kbit ceil 128Kbit burst 1531b cburst 1753b  
class htb 1:20 root rate 64Kbit ceil 128Kbit burst 1531b cburst 1753b  
class htb 1:102 parent 1:10 prio 2 rate 42Kbit ceil 128Kbit burst 1532b cburst 1753b  
class htb 1:201 parent 1:20 prio 1 rate 42Kbit ceil 64Kbit burst 1532b cburst 1679b  
class htb 1:104 parent 1:10 prio 4 rate 42Kbit ceil 128Kbit burst 1532b cburst 1753b  
class htb 1:204 parent 1:20 prio 4 rate 64Kbit ceil 128Kbit burst 1531b cburst 1753b


 
mais je souhaiterais appliquer une priorité aux classes 1:10 et 1:20
 
comment faire? Dois-je créer un qdisc intermédiaire entre 1:10 et 1:10X ?


---------------
Gitan des temps modernes
Reply

Marsh Posté le 25-02-2003 à 10:30:16    

il est normal que tu ne puisse pas mettre une handle classe à 2:10 si son parent est 1:0. le nombre majeur d'une classe (x pour x:y) doit être le même que le nombre majeur de son parent (donc 1 dans ton exemple).
pour ta dernière question je ne comprend pas bien. Tu as déjà assigné une priorité à tes classes (l'option prio : la priorité la plus haute est 1, la moyenne est 5)
Précise ce que tu veux faire

Reply

Marsh Posté le 25-02-2003 à 11:19:24    

en fait, la classe 1:10 correspond à eth0, 1:20 à eth1 et 1:30 à eth2.
 
Je veux donc leur répartir la bande passante (les valeurs ici sont que pour les essais) et donner la priorité à eth0. Par exemple si je mets un CEIL au max et un RATE à la moitié pour les 3:  
- je veux que eth0 et eth1 (en haute priorité) prennent toute la bande passante à hauteur de la moitié chacun au détriment de eth2.
 
Bon je ne sais pas si c'est très clair car quand j'écris, je me rends compte que l'explication n'est pas évidente  [:lex]  
 
Les autres règles (1:10X) correspondent aux règles de répartition du trafic selon l'interface eth considérée: eth0: navigation web et trafic intéractif, eth1 serveur web/ftp, eth2: partage internet wifi limité...Là les priorités sont bien prises en compte.
 
Pour les handles, si le root est toujours en 1:, alors tous les autres ont un major à 1??? Si je veux créer d'autres règles entre eth0 et eth1 (donc en plus des règles ppp0 en 1:), il faut créer un root en 1: ou 2: sur dev eth1?
 
Je remets mon tc show pour l'exemple:
 

class htb 1:101 parent 1:10 prio 1 rate 42Kbit ceil 64Kbit burst 75b cburst 1679b  
class htb 1:10 root rate 64Kbit ceil 128Kbit burst 155b cburst 1753b  
class htb 1:302 parent 1:30 prio 2 rate 42Kbit ceil 128Kbit burst 155b cburst 1753b  
class htb 1:20 root rate 64Kbit ceil 128Kbit burst 155b cburst 1753b  
class htb 1:301 parent 1:30 prio 1 rate 42Kbit ceil 64Kbit burst 75b cburst 1679b  
class htb 1:102 parent 1:10 prio 2 rate 42Kbit ceil 128Kbit burst 155b cburst 1753b  
class htb 1:201 parent 1:20 prio 1 rate 42Kbit ceil 64Kbit burst 75b cburst 1679b  
class htb 1:30 root rate 64Kbit ceil 128Kbit burst 155b cburst 1753b  
class htb 1:104 parent 1:10 prio 4 rate 42Kbit ceil 128Kbit burst 155b cburst 1753b  
class htb 1:204 parent 1:20 prio 4 rate 64Kbit ceil 128Kbit burst 155b cburst 1753b  
class htb 1:304 parent 1:30 prio 4 rate 42Kbit ceil 128Kbit burst 155b cburst 1753b


 
Pour le réglage du burst, je suis également preneur de conseils  [:xfalken]


Message édité par bobor le 25-02-2003 à 11:38:35

---------------
Gitan des temps modernes
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed