86 votes

Comment puis-je limiter la bande passante de téléchargement/transfert ?

Comment puis-je limiter la largeur de bande de téléchargement/transfert pour :

  • Tout le système d'exploitation.
  • Une interface réseau.
  • Application unique.

73voto

Schuyler Points 153

Bien qu'il s'agisse d'une vieille question, je suis tombé dessus en cherchant une réponse à la même question. Les limites du système d'exploitation et de l'interface sont déjà abordées dans une réponse précédente. Voici donc un moyen de définir des limites spécifiques à une application. Utilisez une application appelée trickle. Ainsi sudo apt-get install trickle . Vous pouvez limiter le chargement et le déchargement d'une application spécifique en exécutant les commandes suivantes

trickle -u (upload limit in KB/s) -d (download limit in KB/s) application

Ceci lancera l'application avec les limites spécifiées. Vous pouvez également spécifier un temps de "lissage", de sorte que les échantillons de trickle sur la période de temps souhaitée dans le cas où votre application a des rafales de consommation de bande passante et vous souhaitez que les rafales soient autorisées tant que la moyenne est dans vos spécifications.

43voto

Coincoin Points 12823

Limiter une interface unique est facile, mais les limites de taux globales nécessitent des règles plus complexes, tout comme les règles basées sur les applications. Je ne dis pas que ce n'est pas possible, mais cela nécessite de creuser un peu dans les internes du réseau.

Voici un rapide Comment sur la mise en place d'une limite par interface

Si vous voulez vraiment mettre en place des règles basées sur les applications, vous devriez vous pencher sur un cadre de pare-feu, comme par exemple shorewall qui disposent de fonctions d'aide pour configurer la mise en forme. Même avec ces outils, il faut un peu de réflexion et de tests pour mettre le tout en place. Il n'est pas encore aussi facile de faire quelque chose de ce genre de manière ad hoc.

5voto

billtian Points 161

Si vous voulez limiter la bande passante pour une adresse IP spécifique, vous pouvez l'utiliser :

tc qdisc add dev eth1 root handle 1: htb default 12
tc class add dev eth1 parent 1: classid 1:10 htb rate 2500kbps
tc class add dev eth1 parent 1: classid 1:11 htb rate 2500kbps
tc class add dev eth1 parent 1: classid 1:12 htb rate 5000kbps

tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.2.105 flowid 1:10
tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.2.106 flowid 1:11

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X