Büyük bir sistemde (yaklaşık 2000 kullanıcı) trafik kontrolü için en iyi çözüm nedir?


11

aşağıdaki durum: Yerel ikamet salonları için internet bağlantısını yöneten bir grup öğrenciyiz ve toplam yaklaşık 2000 son kullanıcısı var.

Bir trafik noktası sistemimiz var, her MB indirme veya yükleme maliyeti puanı, saat başına yeni noktalar ekleniyor. Şu anda, bir kullanıcının tüm puanlarını harcadığında internet erişimini engelliyoruz (Debian ağ geçidi yönlendiricimizdeki iptables'da bir REJECT politikasına yerleştirerek).

Yalnızca bir kullanıcının bant genişliğini sınırlamak istiyoruz. Bunu yapmanın en iyi yolu nedir?

Bunun basit cevabı, kullanıcının anahtar bağlantı noktasında (çoğunlukla Cisco Catalyst 3550'ler) bir hız sınırı belirlemek olacaktır. Ancak, kendi ağımızdaki ve üniversite ağındaki trafik sınırsız kalması gerektiğinden bu istenmeyen bir durumdur. Bant genişliğini yalnızca Cisco IOS'ta belirli bir hedef veya kaynak IP aralığına (hem çıkış hem de giriş) sahip paketler için sınırlamanın bir yolu var mı? Hiçbir şey bulamadım.

Diğer yol, ağ geçidi yönlendiricimizdeki trafiği kontrol etmektir. Aklıma birkaç çözüm geliyor:

  • tc veya tcng - her ikisi de oldukça gizli bir sözdizimine sahip ve IP başına trafik kontrolü yapmak için iyi özellikler sunmuyor gibi görünüyor. Pek çok kişi için özel bir QDisc muhtemelen yönlendiriciyi oldukça yavaşlatır. Ayrıca, her ikisine ilişkin belgeler oldukça eskidir.

  • shorewall - yapılandırmalar için oldukça düzgün bir sözdizimine sahip gibi görünüyor, ancak, bu miktarda trafiği ve kullanıcıları ele alıp alamayacağından ve IP başına trafik sınırlaması için uygun olup olmadığından emin değilim

  • pfSense - bizimki gibi amaçlar için tasarlanmış bir işletim sistemine benziyor. Ancak, ağ geçidi yönlendiricimizi tamamen yeniden yüklememizi gerektirir. Başka BSD sistemlerimiz yok ve pfSense'in çok iyi trafik muhasebe yeteneklerine sahip olması gerekecek (şu anda orada fprobe-ulog ve ulog-acctd kullanıyoruz).

Deneyiminiz nedir? Hangi çözüm ihtiyaçlarımıza uygundur ve en kolay şekilde korunabilir? Başka fikrin var mı?

Sistemimiz hakkında daha fazla bilgiye ihtiyaç duyarsanız, lütfen sormaktan çekinmeyin.

Şimdiden teşekkürler.


EDIT : Sistemi iptablesve ile uyguladım tc.

Her kullanıcının bir / 28 alt ağı, bir VPN IP'si (her ikisi de 10.0.0.0/8'den) ve harici bir IP'si vardır, hepsi bir iptables zinciri üzerinden yönlendirilir. Bu zincirin sadece bir kuralı var, basit RETURN.

Her beş dakikada bir, bir Python betiği bu kuralların bayt sayaçlarını okur. Sayaçları sıfırlar ve PostgreSQL veritabanımızdaki kullanıcının trafik noktası hesabını günceller.

Bir kullanıcının puan dengesi belirli bir eşiğin altına düşerse, bu kullanıcı için iki tc sınıfı oluşturulur (biri gelen, biri ağ geçidi yönlendiricimizdeki giden arayüz için), IP'ler bu sınıflara ait tc filtrelerine girilir. Sınıflar bir HTB ile hız sınırlıdır.

Önceki sistem ile karşılaştırıldığında fprobe-ulogve ulog-acctdbu byte sayımı iptables tarafından yapıldığından çok daha hızlıdır.

Ağ hızı kullanıcılarımız için önemli ölçüde iyileşmiştir.

Yanıtlar:


2

Tüm kurulumunuzu yeniden yapılandırmakla ne kadar ilgilendiğinizden emin değilim (yani Debian'ı değiştirin) veya ağ geçidinizin arkasına böyle bir şey yerleştirmenin ne kadar uygun olacağından emin değilim, ancak FreeBSD, ipfw'de dummynet olarak bilinen bir özelliğe sahiptir . Özel bir donanım trafik şekillendiricisi almak istemediğiniz gibi göründüğünden, bu sizin için bir seçenek olabilir. Şu anda, yaşlanan bir NFS arka uç sisteminin bunalmasını ve daha sonra yanıt vermemesini önlemek için proxy ağ geçitlerimizden biri aracılığıyla gelen ve giden SMTP trafiğini boğmak için kullanıyoruz.

Kural kümelerinizin bazı komut dosyası oluşturma ve akıllı yapılandırmalarıyla, binlerce ayrı IP adresini trafiğe ekleyebilmeniz mümkün olacaktır.


0

Ne kullandığımızı sormam gerekecek, ancak ResTek çalışanlarımızın İnternet sınırında hizmet kalitesi işlevlerini yerine getiren bir cihazı var. Sınıflandırılmamış akışlar için varsayılan önceliğe sahiptir ve kurallara göre diğer trafiğe öncelik verir. Sınır cihazında en yüksek öncelikli olarak listelenen Squid tabanlı bir önbellek kümesini işlettiklerinden, gerçekten satan öncelikli özelliktir. Ağlarındaki kişiler daha sonra standart (ve biraz emici) öncelikte web'de gezinme seçeneğine sahip olabilir veya proxy'yi kullanabilir ve çok hızlı yanıt alabilirler. Elbette gecikmeye duyarlı ancak düşük bant genişliğine sahip oldukları için oyun sunucusu öncelikli istekleri de alıyorlar.

Oyun sunucusu isteklerini ele alan oldukça fazla iş var, ancak giderek daha fazla oyun özel sunuculardan uzaklaştıkça bunlar yavaş yavaş ilerliyor. Genel olarak onlar için oldukça iyi işitiyorum. Bittorrent gibi şeylerin diğer tüm trafiği yok etmesini engelleyebilir ve yine de insanların YouTube yükleme sürelerini hızlı tutabilirler.


0

Bu kadar kullanıcı ile basit yazılım tabanlı şeylerin çoğu bozulmaya başlayacak.

Paketleyici ve benzeri cihazlara bakmayı düşünün. Bugünlerde sadece daha fazla bant genişliği satın almaktan çok daha pahalılar (ABD ve Avrupa'da, Avustralya'daki fakir insanlar hala çok yüksek oranlarda).


Ne yazık ki, ne özel bir paket şekillendirici ne de daha fazla bant genişliği için buna çok fazla yatırım yapmayı göze alamayız. Sistemimiz şu anda çalışıyor, soru, tahsis edilen trafiği aşan kullanıcıları engellemek yerine, yalnızca kendileri için mevcut olan bant genişliğini nasıl azaltabileceğimizdir.
Christoph Wurm


0

tc iyi çalışmalıdır .. Yapmak istediğiniz şey mevcut iptables kurallarını trafik reddetmek yerine işaretlemek için değiştirmek olduğuna inanıyorum, o zaman bu işaretli akışlara trafik şekillendirme uygulamak için az sayıda tc kuralları kullanabilirsiniz.

ayrıca, kısılmış kullanıcıların listesini yönetmek için ipset'e bakın http://ipset.netfilter.org/


0

Trafik paneli bir çözüm gibi görünüyor. Diğer özelliklerin yanı sıra:

  • Bağlantı başına maksimum HTTP hızını sınırlama
  • Yerel ağ ana makinesi başına web kaynaklarının toplam trafik miktarını sınırlama
  • Yerel ağ ana bilgisayarı başına günlük internet trafiği
  • Yerel ağ ana makinesi başına maksimum trafik hızını sınırlama
  • Yerel ağ ana bilgisayarı başına toplam internet trafiğini sınırlama

Aslında, bunu hiç denemedim, ama iyi görünüyor.

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.