Aller au contenu

QoS avec une passerelle Linux


Messages recommandés

Salut à tous les Linuxiens, :francais:

J'utilise une passerelle tournant sous Fedora 3 pour mon réseau local, avec divers services dessus ( web, serveur de jeux, etc... )

Comme je n'ai qu'une connexion Free non-dégroupé, j'aimerais pouvoir gérer la bande passante pour pouvoir jouer online en même temps que télécharger, voir même en même temps qu'utiliser un logiciel p2p. Quels sont les meilleurs scripts voir logiciels que vous connaissez pour ce cas là ?

Merci d'avance à tous :chinois:

Lien vers le commentaire
Partager sur d’autres sites

  • 11 mois après...

Up ! ( oui je sais c'est vieux :francais: )

Voilà mon script :

#!/bin/sh
# description: Gestion bande-passante
start_routing() {
echo -n "Activation de HTB..."
CEIL=400
DOWNLINK=5000
tc qdisc add dev eth1 root handle 1: htb default 15
tc class add dev eth1 parent 1: classid 1:1 htb rate ${CEIL}kbit ceil ${CEIL}kbit
tc class add dev eth1 parent 1:1 classid 1:10 htb rate 140kbit ceil ${CEIL}kbit prio 0
tc class add dev eth1 parent 1:1 classid 1:11 htb ceil ${CEIL}kbit rate 140kbit prio 1
tc class add dev eth1 parent 1:1 classid 1:12 htb ceil ${CEIL}kbit rate 40kbit prio 2
tc class add dev eth1 parent 1:1 classid 1:13 htb ceil ${CEIL}kbit rate 40kbit prio 2
tc class add dev eth1 parent 1:1 classid 1:14 htb ceil ${CEIL}kbit rate 30kbit prio 3
tc class add dev eth1 parent 1:1 classid 1:15 htb ceil ${CEIL}kbit rate 10kbit prio 3
tc qdisc add dev eth1 parent 1:12 handle 120: sfq perturb 10
tc qdisc add dev eth1 parent 1:13 handle 130: sfq perturb 10
tc qdisc add dev eth1 parent 1:14 handle 140: sfq perturb 10
tc qdisc add dev eth1 parent 1:15 handle 150: sfq perturb 10

echo " Fait."
echo -n "Mise en place des filtres..."

# Assign class to Mark-1 packets (mark is "handle 1")
tc filter add dev eth1 parent 1:0 protocol ip prio 1 handle 1 fw classid 1:10
tc filter add dev eth1 parent 1:0 protocol ip prio 2 handle 2 fw classid 1:11
tc filter add dev eth1 parent 1:0 protocol ip prio 3 handle 3 fw classid 1:12
tc filter add dev eth1 parent 1:0 protocol ip prio 4 handle 4 fw classid 1:13
tc filter add dev eth1 parent 1:0 protocol ip prio 5 handle 5 fw classid 1:14
tc filter add dev eth1 parent 1:0 protocol ip prio 6 handle 6 fw classid 1:15
tc filter add dev eth1 parent ffff: protocol ip prio 50 u32 match ip src 0.0.0.0/0 police rate ${DOWNLINK}kbit burst 10k drop flowid :1
}


stop_routing() {
   echo "Arrêt des queues, priorités et qdisc"
   tc qdisc del dev eth1 root	2> /dev/null > /dev/null
tc qdisc del dev eth1 ingress 2> /dev/null > /dev/null
}

qos_status() {
echo -n "Etat des queues, priorités et qdisc"
tc -s qdisc ls dev eth1
tc -s class ls dev eth1
}


  case "$1" in
	 start)
		start_routing
		echo "Fait."
		exit 0
	   ;;

	status)
		qos_status
		exit 0
	   ;;

	 stop)
		stop_routing
		echo "Fait."
		exit 0
	   ;;

	restart)
		stop_routing
		start_routing
		echo "Fait."
		exit 0
	   ;;

 *)
	echo "Usage: $0 { start | status | stop | restart }"
  ;;
esac
exit 1

Plus marquage des paquets via la table mangle d'ip tables...

Toute suggestion ou amélioration est la bienvenue :craint:

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...