Come limitare la larghezza di banda della rete?


74

Stiamo ospitando un'applicazione sul server remoto. Dobbiamo testarlo con una larghezza di banda di rete limitata (per utenti con accesso a Internet non valido).

Posso limitare la mia larghezza di banda Internet? Ad esempio: 128 KB al secondo.

Risposte:


68

Puoi limitare la larghezza di banda della rete sull'interfaccia usando il comando chiamato tcMan page disponibile su http://linux.die.net/man/8/tc

Per una sceneggiatura semplice, prova Wondershaper .

Un esempio dell'uso di tc: tc qdisc add dev eth0 root tbf rate 1024kbit latency 50ms burst 1540


6
Link al prompt atmail.com per l'autorizzazione nome utente / password per me ... :(
Ash


meglio tardi che mai se utilizzerai un router busybox un metodo migliore è il tccomando, puoi controllare il post di mark qui mark.koli.ch/… il wiki di openvz ha più esempi openvz.org/Traffic_shaping_with_tc
nwgat

sembra che sia anche possibile limitare la larghezza di banda con iptables (è possibile modificare la risposta se necessario): serverfault.com/questions/52027/…
baptx

62

Come notato nella risposta precedente, Wondershaper fa facilmente il lavoro. Includo le informazioni dal link sopra di Jwalanta Shrestha

apt-get install wondershaper

wondershaper - Uno strumento semplice per limitare la larghezza di banda di una particolare interfaccia.

$ sudo wondershaper {interface} {down} {up}

{down} e {up} sono la larghezza di banda in kpbs

Ad esempio, se si desidera limitare la larghezza di banda dell'interfaccia eth1 a downlink 256kbps e uplink 128kbps,

$ sudo wondershaper eth1 256 128

Per cancellare il limite,

$ sudo wondershaper clear eth1 

2
Idealmente, avresti dovuto modificare la risposta originale invece di aggiungerne una nuova. Questa è la politica standard. Comunque, +1 per la tua risposta, perché aggiunge informazioni alle risposte.
Shivams,

2
Questo è molto utile se stai legando i dati mobili e hai un limite di utilizzo corretto (e dopo devi acquistare nuovi pacchetti, il caso di Lycamobile). Sui siti Web di streaming video come YouTube, l'intero video viene caricato direttamente se la larghezza di banda è sufficiente. Se si limita la larghezza di banda, il video passerà automaticamente a una bassa risoluzione e scaricherà solo ciò che si sta guardando, il che salva i dati se non si desidera guardare tutto.
Baptx,

2
Utile anche per il caricamento di file di grandi dimensioni, in quanto non solo limita la larghezza di banda, ma dà anche priorità al traffico. In modo che durante il caricamento di file da 10 GB sia ancora possibile utilizzare SSH.
PeterM

5
Wondershaper è molto vecchio: Wondershaper Must Die (Bufferbloat.net)
Niklas Holm,

10

La limitazione delle risorse di rete basata su alcuni criteri è oggetto di QoS . Esistono diversi modi per controllare il traffico degli utenti sui sistemi Linux.

C'è un buon How-to sulle tecniche di routing avanzate e sul controllo del traffico su Linux di Bert Hubert.


2
Ti riferivi a una particolare sezione in essa?
rogerdpack,

1
Se non si desidera modificare le impostazioni di sistema, è sufficiente installare il proxy squid3, quindi impostare l'applicazione "limitata" tramite proxy. Per l'app cli puoi impostare torsocks o proxychains, e per le app pesanti della GUI puoi anche installare Fiddler mono, quindi sì ... ci sono alcuni modi per controllare tutto :)
erm3nda

(questa è solo una risposta al link)
Konrad Gajewski,

7

Se hai già una configurazione di Apache da qualche parte, puoi usarla mod_bw, che funziona anche su connessioni proxy (cioè Apache inoltra tutto al server corretto, ma rallenta le risposte).


6

Dummynet fa quello che vuoi e altro ancora, puoi persino controllare la latenza, la perdita casuale di pacchetti e molto altro.


6

Puoi anche usare il modulo hashlimit di iptables. Qui c'è un semplice esempio:

iptables -A FORWARD -m hashlimit --hashlimit-above 512kb / sec --hashlimit-burst 1mb --hashlimit-mode srcip, dstip --hashlimit-name bwlimit -j DROP

Tale regola limita il traffico che attraversa la catena FORWARD come 512kb / sec con burst di 1 MB per ciascuna coppia di origine e destinazione.

Controlla la sezione hashlimit del manuale di iptables per maggiori informazioni.

http://ipset.netfilter.org/iptables-extensions.man.html

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.