Limiter la bande passante entre 2 hosts (dont l’un en Linux)

Dans la série aide-mémoire.
Imaginez : approbation d’une tonne de patchs de sécurité Windows en retard sur un WSUS avec des réplicats. Immédiatement, il commence à downloader, via un proxy Squid sous Linux, donc via une machine Linux.
Et là, votre bande passante est réduite à de la poussière car WSUS, via le proxy, pompe tout, à fond.
Raaaaaaaaaa. M’énerve.

Vite, iptables doit pouvoir m’aider. Je suis une buse en QoS, mais bon, j’ai confiance en Google :)

Après quelques recherches, je suis tombé sur LARTC, Linux Advanced Routing & Traffic Control. En quelques mots, une bande de fous-furieux qui aiment les lignes de commandes compliquées (à côté de ça, iptables est un joujou) pour faire de la QoS.
Y’a un howto super complet : http://www.traduc.org/docs/howto/vf/lartc.html. Pas le temps, ça sent le sujet compliqué et vaste. On verra plus tard.

Là je veux juste limiter le trafic entre mon proxy et ce p~!?[n de serveur WSUS.

J’ai trouvé 3 lignes magiques ici (après avoir survolé le man tc histoire de suivre le loin ce que je fais) :

tc qdisc add dev eth0 root handle 1: cbq avpkt 1000 bandwidth 10mbit
tc class add dev eth0 parent 1: classid 1:1 cbq rate 400kbit allot 1500 prio 5 bounded isolated
tc filter add dev eth0 parent 1: protocol ip prio 16 u32 match ip dst 192.168.1.2 flowid 1:1

Je voulais limiter le trafic vers 192.168.1.2 via eth0 à 50 kB/s, soit en gros 400 kbit/s.
Pour annuler, j’ai “annulé” les commandes, si je peux dire. Sans être trop sûr de moi, j’ai simplement tenté ça :

tc filter del dev eth0 parent 1: protocol ip prio 16 u32 match ip dst 192.168.1.2 flowid 1:1
tc class del dev eth0 parent 1: classid 1:1 cbq rate 400kbit allot 1500 prio 5 bounded isolated
tc qdisc del dev eth0 root handle 1: cbq avpkt 1000 bandwidth 10mbit

Je n’ai pas vu d’effet de bord (genre, tout bloqué ou rien qui ne se rétablit une fois le tc annulé). Donc on va dire que c’est probablement un peu crade, que je n’y comprends pas tout, mais que ça marche.

Voilà, si ça peut vous servir, j’en suis content.
noob-powered

Vus : 365
Publié par Michauko : 64