Script QoS qui marche partiellement

Script QoS qui marche partiellement - réseaux et sécurité - Linux et OS Alternatifs

Marsh Posté le 10-12-2007 à 10:57:43    

J'ai fait un petit script de QoS afin d'optimiser le trafic sur mon serveur perso (mail, web, FTP, sauvegardes rsync). Idéalement il devrait créer deux classes :
- la 1:1 pour mes échanges locaux, non limitée en débit
- la 1:2 pour Internet avec des sous classes pour prioriser les différents échanges (IMAP ultra prioritaire par exemple) et que la bande passante soit allouée au mieux.
 
Petit hic : ça classe bien les paquets mais ça n'utilise pas toutes les classes. Seules la 1:1 (réseau local) et la 1:29 (classe par défaut) sont utilisées. Quelqu'un pourrait me dire pourquoi ça colle pas ? Je soupçonne une mauvaise utilisation de la syntaxe du filtre détectant de quel port on se sert.
 

# Paramètres (kbps = ko/s)
BPLOCAL=98Mbit
BPINTERNET=100kbps
 
SSHMIN=5kbps
SSHMAX=90kbps
IMAPMIN=70kbps
IMAPMAX=100kbps
HTTPMIN=50kbps
HTTPMAX=90kbps
FTPMIN=10kbps
FTPMAX=100kbps
DEFAULTMIN=20kbps
DEFAULTMAX=90kbps
 
# Suppression de toutes les règles de QoS
echo "Chargement de la QoS"
tc qdisc del dev eth0 root
 
# Définition du lien par défaut (les paquets non classés vont dans la classe 1:29)
tc qdisc add dev eth0 root handle 1: htb default 29
 
# Classe locale
tc class add dev eth0 parent 1: classid 1:1 htb rate $BPLOCAL prio 10
tc filter add dev eth0 protocol ip parent 1: prio 4 u32 match ip src 192.168.0.3 flowid 1:1
tc filter add dev eth0 protocol ip parent 1: prio 4 u32 match ip dst 192.168.0.3 flowid 1:1
 
# Classe Internet
tc class add dev eth0 parent 1: classid 1:2 htb rate $BPINTERNET
 
# Classe SSH
tc class add dev eth0 parent 1:2 classid 1:21 htb rate $SSHMIN ceil $SSHMAX prio 0
tc filter add dev eth0 protocol ip parent 1:2 prio 0 u32 match ip sport 22 0xffff flowid 1:21
 
# Classe IMAP
tc class add dev eth0 parent 1:2 classid 1:22 htb rate $IMAPMIN ceil $IMAPMAX prio 1
tc filter add dev eth0 protocol ip parent 1:2 prio 1 u32 match ip sport 993 0xffff flowid 1:22
 
# Classe HTTP
tc class add dev eth0 parent 1:2 classid 1:23 htb rate $HTTPMIN ceil $HTTPMAX prio 2
tc filter add dev eth0 protocol ip parent 1:2 prio 2 u32 match ip sport 443 0xffff flowid 1:23
tc filter add dev eth0 protocol ip parent 1:2 prio 2 u32 match ip sport 80 0xffff flowid 1:23
 
# Classe FTP
tc class add dev eth0 parent 1:2 classid 1:24 htb rate $FTPMIN ceil $FTPMAX prio 9
tc filter add dev eth0 protocol ip parent 1:2 prio 9 u32 match ip sport 20 0xffff flowid 1:24
tc filter add dev eth0 protocol ip parent 1:2 prio 9 u32 match ip sport 21 0xffff flowid 1:24
 
# Classe défaut
tc class add dev eth0 parent 1:2 classid 1:29 htb rate $DEFAULTMIN ceil $DEFAULTMAX prio 4

Reply

Marsh Posté le 10-12-2007 à 10:57:43   

Reply

Marsh Posté le 11-12-2007 à 15:18:14    

Même pas quelqu'un pour m'indiquer un site ou une mailing list où je pourrai obtenir une réponse ? :(

Reply

Marsh Posté le 12-12-2007 à 00:12:51    

à la place de tes "sport" c'est pas "dport" ?

Reply

Marsh Posté le 13-12-2007 à 15:34:14    

ouais tiens c'est vrai ça, t'as essayé ?


---------------
Ubuntu c'est nul ! Tu l'installes et puis ça marche ... y a rien à bidouiller. rm -rf /  
Reply

Marsh Posté le 13-12-2007 à 23:53:23    

en fait je suis pas si sûr que ce soit le problème
Tu as vu wondershaper ?


---------------
Ubuntu c'est nul ! Tu l'installes et puis ça marche ... y a rien à bidouiller. rm -rf /  
Reply

Sujets relatifs:

Leave a Replay

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