it-swarm.it

Come posso limitare la larghezza di banda di download / upload?

Come posso limitare la larghezza di banda di download/upload per:

  • Intero sistema operativo.
  • Un'interfaccia di rete.
  • Singola applicazione.
77
yevhene

Limitare la singola interfaccia è semplice, ma i limiti di velocità globali richiedono regole più complesse come le regole basate sull'applicazione. Non sto dicendo che non può essere fatto, ma richiede un po 'di approfondimento all'interno della rete.

Ecco una rapida Come sull'impostazione di un limite per interfaccia

Se vuoi davvero impostare regole basate sull'applicazione, dovresti cercare in qualche framework di firewall, come shorewall , che ha funzionalità di supporto per configurare il shaping. Anche con questi strumenti, richiede un bel po 'di riflessione e test per metterlo in atto. Fare qualcosa come questo ad hoc non è ancora così facile.

42
Ressu

Sebbene questa sia una vecchia domanda, mi sono imbattuto in questo quando cercavo una risposta alla stessa domanda. I limiti del sistema operativo e dell'interfaccia sono già stati affrontati in una risposta precedente, quindi ecco un modo per impostare limiti specifici dell'applicazione. Utilizzare un'applicazione chiamata gocciolamento. Quindi fai Sudo apt-get install trickle. È possibile limitare l'upload/download per un'app specifica eseguendo

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

Ciò avvierà l'applicazione con i limiti specificati. È inoltre possibile specificare il tempo di "livellamento", in modo tale che i campioni di gocciolamento nel periodo di tempo desiderato nel caso in cui l'applicazione presenti un aumento del consumo di larghezza di banda e si desideri che gli scoppi siano consentiti purché la media rientri nelle specifiche.

66
SMeznaric

Se si desidera limitare la larghezza di banda per un indirizzo IP specifico, è possibile utilizzare questo:

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
5
billtian