SSH trafiği sınırlansın mı?


11

Sunucumdaki SSH bant genişliğini sınırlayabilmek istiyorum. Yani her sshd işlemi 200Kb / s veya bunun gibi bir şeyle sınırlı olmalıdır.

scp bu işlevselliğe sahiptir, ancak daha duyarlı etkileşimli kullanım için tasarlanmış olan ssh bu seçeneğe sahip görünmemektedir. Ancak, -D (SOCKS proxy) işlevselliğini bir şekilde trafiği bir şekilde sınırlama yeteneği ile birleştirmek istiyorum.

Bunun için herhangi bir seçenek var mı?


Bunu SSH sunucusunda mı yapmak istiyorsunuz, yoksa iki makine arasındaki güvenlik duvarında yapmak sorun değil mi?
Mark Henderson

Güvenlik duvarına erişimim olmadığından bunu sunucuda yapmayı tercih ederim.
user10640

Bunu istemcide yapmaktan memnunsanız, komut satırı yardımcı programını 'drizzle' deneyin.
Alex J

Çiseleme komutu yararlı görünse de, sonuçta kullanıcıların çalıştırması için güvenemiyorum. Görünüşe göre umduğumdan biraz daha karmaşık bir şeye sıkışıp kaldım: P. Herkese teşekkürler!
user10640

Yanıtlar:


4

Kullanıcılara güvenmenin denklemin bir parçası olup olmadığından emin değilim, ancak trickleverilen bir komutun hızını sınırlamak için çok kullanışlı. Evden paketler yüklediğimde, WoW-addict oda arkadaşları böyle bir şeyi unuttuğumda fark ediyorlar, çünkü boruya oldukça hakim.


1
Damlama, aynı makinede birden çok komut için toplam bant genişliğini arka plan olarak çalıştırabilir ve yönetebilir. Aynı anda bir dizi bağımsız transfer işlemini başlatmak istediğinizde, ancak toplamda belirli bir veri hızından fazlasını kullanmamalarını istediğinizde kullanışlıdır.
David Spillett

1
Ne yazık ki, sshd ile bana yardımcı olacağını sanmıyorum - yeni bağlantılar geldiğinde yeni sshds çatal. Ben uygulamak biraz daha zor olacak bazı güvenlik duvarı düzeyinde çözüm ile sıkışmış olabilir.
user10640

wtf neden bu en iyi cevap? trickleçatal olan herhangi bir işlemle çalışmaz. Buna sshd dahildir!
Navin

1

Tc kullanarak HTB trafik şekillendirmesini uygulamaya değer. Simüler bir soruna çözümüm http://sourceforge.net/projects/htbinit/ adresinde bulunan htb.init betiğini kullanmaktı.

Bağlantı noktası 22'den gelen trafiği sınırlamaya dayalı olarak ayarladım, ancak daha sonra işarete göre işlenen paketleri işaretlemek / değiştirmek için iptables'ı da kullanabilirsiniz.


tcŞimdiye kadar ilgili tek cevap için +1 .
Biriktirici

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

Bu iş parçacığının oldukça eski olduğunu biliyorum, ama umarım bu birine yardımcı olur.


1
En azından yorum yapmadan iki kişinin cevabınızı küçümsemesi can sıkıcı bir durum. Sanıyorum çünkü scpssh'ın oldukça spesifik bir kullanım durumu. Test ettim scp -lve işe yarıyor, ancak kilobit (kb) / saniye değil, kilobayt (kB) değil.
mwfearnley

0

Birkaç seçenek var.

Yaygın olanı, sunucu ile istemciler arasındaki güvenlik duvarına / yönlendiriciye Port 22'ye QoS uygulamaktır.

Aynı yerel ağdalar (yani aralarında yönlendirici veya güvenlik duvarı yoksa), bant genişliğini bağlantı noktası 22 ile sınırlamak için IPTable'ları kullanabileceğinize inanıyorum ... Bunun nasıl yapılacağı hakkında daha fazla bilgi için buraya bakın.


1
İptables hız sınırlayıcısını ssh gibi bir hizmetle kullanırken dikkatli olmalısınız, çünkü "Hız sınırlamasının kavramsal olarak bant genişliği azaltma / sınırlamadan farklı olduğunu gözlemlemek önemlidir; bant genişliği kısıtlı bir bağlantı paketleri sıraya sokar ve bunların hızını sınırlar Hız sınırlaması bunu yapmaz; örneğin sınırınıza gelen TCP bağlantı denemelerinde hız sınırlamayı kullandığınızda ve belirtilen sınırı aşan bağlantılar reddedilir; paket sıralaması yok . "
msanford

Hmmm iyi nokta
Mark Henderson

0

İprelay gibi bir şeye bakabilirsiniz :

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.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.