Limitare il traffico SSH?


11

Vorrei poter limitare la larghezza di banda SSH sul mio server. Cioè ogni processo sshd dovrebbe essere limitato a 200 Kb / se qualcosa del genere.

scp ha questa funzionalità, ma ssh, essendo più progettato per un uso interattivo reattivo, non sembra avere questa opzione. Tuttavia, vorrei combinare la funzionalità -D (proxy SOCKS) con una certa capacità di limitare in qualche modo il traffico.

Ci sono opzioni per questo?


Stai cercando di farlo sul server SSH, oppure è ok farlo su un firewall tra le due macchine?
Mark Henderson,

Preferirei davvero farlo sul server, dal momento che non ho accesso al firewall.
user10640

Se sei contento di farlo sul client, prova l'utilità della riga di comando "drizzle".
Alex J,

Mentre il comando drizzle sembra utile, alla fine non posso fidarmi degli utenti per eseguirlo. Sembra che sia bloccato guardando qualcosa di un po 'più complicato di quanto sperassi: P. Grazie a tutti!
user10640

Risposte:


4

Non sono sicuro che fidarsi degli utenti faccia parte dell'equazione, ma trickleè molto utile per limitare la velocità di un determinato comando. Quando carico pacchetti da casa, i coinquilini di WoW-dipendente si accorgono quando dimentico qualcosa del genere, dal momento che domina praticamente la pipa.


1
Trickle può essere eseguito come demone e gestire la larghezza di banda totale per più comandi sullo stesso computer. Utile quando si desidera avviare contemporaneamente un insieme di operazioni di trasferimento altrimenti indipendenti, ma si desidera che non utilizzino più di una velocità dati impostata in totale.
David Spillett,

1
Sfortunatamente, non penso che ciò mi aiuterà con sshd: si forgia di nuovi sshds quando arrivano nuove connessioni. Potrei essere bloccato con una soluzione a livello di firewall, che sarà un po 'più difficile da implementare.
user10640

wtf perché questa è la risposta migliore? tricklenon funziona con alcun processo che esegue il fork. Questo include sshd!
Navin,

1

Vale la pena esaminare l'implementazione del modellamento del traffico HTB usando tc. La mia soluzione a un problema simile era usare lo script htb.init che si trova su http://sourceforge.net/projects/htbinit/

L'ho impostato in base alla limitazione del traffico dalla porta 22, ma è anche possibile utilizzare iptables per contrassegnare / manipolare i pacchetti che vengono quindi elaborati in base al segno.


+1 per l'unica tcrisposta correlata finora.
Spooler

1
scp -l 8192 file.txt user_name@111.111.1.11:/tmp
//8192  = 8192 KB per second

So che questo thread è piuttosto vecchio, ma spero che questo possa aiutare qualcuno.


1
È fastidioso che due persone abbiano votato in basso la tua risposta senza almeno commentare. Presumo sia perché scpè un caso d'uso piuttosto specifico di ssh. Ho testato scp -le funziona, anche se si noti che è kilobit (kb) al secondo e non kilobyte (kB).
mwfearnley,

0

Ci sono alcune opzioni

Uno comune è implementare QoS sulla porta 22 su un firewall / router tra il server e i client.

Se si trovano sulla stessa rete locale (ovvero senza router o firewall tra di loro), credo che tu possa usare IPTables per limitare la larghezza di banda alla porta 22 ... Dai un'occhiata qui per maggiori informazioni su come farlo.


1
Devi stare attento usando il limitatore di velocità di iptables con un servizio come ssh, perché "È importante osservare che la limitazione della velocità è concettualmente diversa dalla limitazione / limitazione della larghezza di banda; una connessione con limitazione della larghezza di banda metterà in coda i pacchetti e limiterà la velocità con cui essi vengono trasmessi / ricevuti. Il limite di velocità non lo farà; quando si utilizza il limite di velocità, ad esempio, i tentativi di connessione TCP in entrata sul proprio IDD e le connessioni che superano il limite specificato verranno negate; non è possibile accodare i pacchetti . "
msanford,

Hmmm goood point
Mark Henderson,

0

Potresti guardare qualcosa come iprelay :

User-space bandwidth shaping TCP proxy daemon
iprelay can shape the TCP traffic forwarded through it to a specified
bandwidth and allow this bandwidth to be changed on-the-fly. Multiple
data streams to different sockets may be shaped to the same total
bandwidth, much like a traffic shaping router would. However, this
application runs in user space, and works by acting as a TCP proxy.
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.