Ağ bant genişliği nasıl sınırlandırılır?


74

Uzak sunucuda bir uygulama barındırıyoruz. Sınırlı bir ağ bant genişliği ile test etmemiz gerekiyor (İnternet erişimi kötü olan kullanıcılar için).

İnternet bant genişliğimi sınırlayabilir miyim? Örneğin: saniyede 128 KB.

Yanıtlar:


67

Http://linux.die.net/man/8/tc adresindetc bulunan Man sayfası adlı komutu kullanarak ağ bant genişliğini arabirim üzerinde kısabilirsiniz.

Basit bir script için, harikası deneyin .

Tc kullanımına bir örnek: tc qdisc add dev eth0 root tbf rate 1024kbit latency 50ms burst 1540


6
Benim için kullanıcı adı / şifre yetkilendirmesi için atmail.com bilgi istemine bağlantı ... :(
Ash

1
Atmail içeriğine buradan ulaşabilirsiniz: web.archive.org/web/20130719031908/http://atmail.com/kb/2009/…
Tom Saleeba

senin olacak daha iyi bir yöntemdir, bir busybox yönlendirici kullanırsanız daha geç asla tckomut, buradan mark'ın yazı kontrol edebilirsiniz mark.koli.ch/... OpenVZ wiki daha fazla örnek vardır openvz.org/Traffic_shaping_with_tc
nwgat

: o (gerekirse cevabını düzenleyebilirsiniz) iptables ile bant genişliğini sınırlamak mümkündür benziyor serverfault.com/questions/52027/...
baptx

62

Önceki cevapta belirtildiği gibi, wondershaper işi kolayca yapar. Jwalanta Shrestha'nın yukarıdaki linkinden bilgileri ekledim

apt-get install wondershaper

wondershaper - Belirli bir arayüzün bant genişliğini sınırlamak için kolay bir araçtır.

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

{down} ve {up}, kpbs cinsinden bant genişliğidir.

Örneğin, eth1 arabiriminin bant genişliğini 256kbps downlink ve 128kbps uplink ile sınırlamak istiyorsanız,

$ sudo wondershaper eth1 256 128

Sınırı silmek için

$ sudo wondershaper clear eth1 

2
İdeal olarak, yeni bir cevap eklemek yerine orijinal cevabı yeni düzenlemelisiniz. Bu standart politikadır. Neyse, cevabınız için +1, cevabınıza bilgi ekler.
shivams

2
Mobil veriyi birbirine bağlıyorsanız ve adil kullanım sınırınız varsa (ve Lycamobile için durumdan sonra yeni paketler satın almanız gerekiyorsa) bu çok kullanışlıdır. YouTube gibi video yayını yapan web sitelerinde, yeterli bant genişliğiniz varsa, tüm video doğrudan yüklenir. Bant genişliğini sınırlarsanız, video otomatik olarak düşük bir çözünürlüğe geçer ve yalnızca izlediklerinizi indirir; bu, her şeyi izlemek istemiyorsanız veri tasarrufu sağlar.
baptx

2
Büyük bantları yüklemek için de kullanışlıdır, çünkü sadece bant genişliğini sınırlamaz, aynı zamanda trafiği önceliklendirir. Böylece 10GB dosya yüklerken hala SSH kullanabilirsiniz.
Peter

5
Wondershaper çok modası geçmiş: Wondershaper Ölmeli (Bufferbloat.net)
Niklas Holm

10

Bazı kriterlerine dayalı olarak ağ kaynaklarını sınırlandırılması konusu olan QoS . Linux sistemlerinde kullanıcı trafiğini kontrol etmenin birkaç farklı yolu vardır.

Bert Hubert tarafından Linux'ta gelişmiş yönlendirme teknikleri ve trafik kontrolü hakkında iyi bir How-to var .


2
İçinde belirli bir bölüme mi değindiniz?
rogerdpack

1
Sistem ayarlarını değiştirmek istemiyorsanız, sadece squid3 proxy'yi kurun, ardından proxy üzerinden "sınırlı" uygulamanızı ayarlayın. Cli uygulaması için torsocks veya proxychains ayarlayabilir ve ağır GUI uygulaması için Fiddler mono da yükleyebilirsiniz, yani evet ... her şeyi kontrol etmenin bazı yolları var :)
erm3nda 22:15

(Bu sadece bir bağlantı)
Konrad Gajewski

7

Önceden bir yerde bir Apache kurulumunuz varsa mod_bw, proxy bağlantılarında da çalışan (örneğin Apache her şeyi uygun sunucuya iletir, ancak yanıtları yavaşlatır) kullanabilirsiniz.


6

Dummynet istediğinizi ve daha fazlasını yapar, gecikmeyi, rastgele paket kaybını ve daha fazlasını kontrol edebilirsiniz.


6

İptables hashlimit modülünü de kullanabilirsiniz. İşte basit bir örnek:

iptables - Bir FORWARD -m hashlimit - hashlimit-yukarıda 512kb / sn - hahlimit-patlama 1mb - hahlimit-mod srcip, dstip - hahlimit-adı bwlimit -j DROP

Bu kural, her kaynak ve hedef çifti için 1 MB patlama ile FORWARD zincirinden geçen trafiği 512kb / sn olarak sınırlar.

Daha fazla bilgi için iptables manual'ın hashlimit bölümüne bakın.

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

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.