Limitare la larghezza di banda in uscita su un'interfaccia specifica


32

Vorrei sapere il modo più semplice per limitare la larghezza di banda in uscita per un'interfaccia. Voglio limitare la velocità della porta in uscita in modo che i trasferimenti di file tra i miei server non falliscano durante le ore di punta.

Qual è la soluzione più semplice? So che potrei usare iptablesma sto cercando una semplice installazione / configurazione.


HTB funziona alla grande. Limitazione della velocità molto flessibile. sourceforge.net/projects/htbinit

Risposte:


37

ethtool

È possibile modificare la velocità aggregata della porta NIC utilizzando ethtool.

$ sudo ethtool -s eth0 speed 10

Questo imposterà la porta su 10 MB, per esempio.

wonderShaper

Puoi anche usare lo strumento wondershaperper farlo. NOTA: la velocità dovrebbe essere in kilobit al secondo.

$ sudo wondershaper eth1 downspeed upspeed

Per esempio:

$ sudo wondershaper eth0 10000 280

gocciolare

Una terza opzione è Trickle . Il trucco può essere utilizzato per programma dagli utenti o come demone che limita completamente la scheda NIC.

Modalità utente - Pagina man di trickle

$ sudo trickle -d 20 -u 20 wget http://www.google.com/bigfile

Accelererà 20K / s sia per il traffico su che giù per questo wget, tutto il resto non sarà limitato.

Modalità demone - pagina man trapelata

In modalità demone, trickledpuò limitare un gruppo di programmi a un limite fisso di larghezza di banda. Per avviare il demone, esegui il comando ingannato:

$ sudo trickled -d 20 -u 20

pyshaper

Una quarta opzione è pyshaper . È un'opzione unica tra le scelte in quanto include la GUI e monitora e imposta dinamicamente la larghezza di banda nel tempo. Puoi dare un'occhiata alla pagina man di pyshaper per maggiori dettagli.

                                            guys pyshaper

Riferimenti


Limitare l'uso della larghezza di banda delle applicazioni problematiche tramite i cgroups sarebbe probabilmente utile anche se il loro kernel lo supporta.
Bratchley,

wondershaper non funziona Non so perché (anche` wondershaper eth0 1000 1000` non ha larghezza di banda Internet uguale a `sudo trickled -d 20 -u 20`.) Devo limitare un'interfaccia di rete. larghezza di banda non solo applicazioni specifiche. come può farlo?
Arash,

Il trucco non ha funzionato per me, ma Wondershaper ha fatto il trucco!
Peschü,

1

Wondershaper è stato modificato l'ultima volta nel 2002 ma funziona ancora su Fedora 21 oggi. Ma nota, ci sono solo un paio di opzioni disponibili come argomenti e non puoi specificare la velocità di upload / download sulla riga di comando come specificato qui - almeno, non in Download versione 1.1a, rilasciata il 16 aprile 2002. Devi modificare il file ed è uno script di shell. Non è difficile per chi conosce un piccolo guscio.

L'utilizzo è:

wondershaper (questo imposterà la larghezza di banda in base ai valori nel file)

wondershaper status
wondershaper stop

Puoi usarlo mentre il link è attivo, il che è carino.


1

Un'altra opzione è ' iproute2 ' che sembra essere uno strumento di routing / shaping del traffico maturo e ampiamente disponibile. L'ho trovato come un RPM (probabilmente anche molti altri pacchetti, non ho cercato). Al momento della stesura di questo documento, la versione più recente era la 4.4.0, costruita il 25 gennaio 2016.

Osservando la sintassi della configurazione, sembra essere relativamente semplice (anche se non semplice come ifconfigo route.)


6
La tua risposta non riguarda il modo in cui uno userebbe effettivamente iproute2 per limitare la larghezza di banda in uscita. Puoi elaborare per favore?
Michael,
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.