Wie richte ich einen Proxyserver für zu Hause mit Bandbreitenkontrolle und Downloadlimitoptionen ein?

17

3 Mitbewohner teilen sich eine einzelne 2-Mbit / s-Verbindung. Haben Sie ein Download-Limit von 40 GB pro Monat, ab dem die Geschwindigkeit auf 256 KBit / s sinkt, was ärgerlich ist.

Einer der Mitbewohner missbraucht die Verbindung, indem er über sein Kontingent hinaus herunterlädt. Ich habe einen Netgear WNR1000v2-WLAN-Router und ein ADSL-Modem, um eine Verbindung zum Internet herzustellen. Wir alle greifen über einen WLAN-Router, der eine Verbindung zum ADSL-Modem herstellt, auf das Internet zu.

Ich benötige eine kostenlose Proxy-Lösung, die mir beim Einstellen helfen kann

  1. Maximal 40 GB / 3 (13 GB) für jede Person (jede Person verfügt über 2 Geräte - einen PC und ein Telefon mit WLAN)
  2. Einheitliche Bandbreitenkontrolle - Wenn 2 Personen im Internet surfen, sollten sie jeweils 1 Mbit / s erhalten, und wenn 3 Personen auf das Internet zugreifen, sollten sie 2 Mbit / s geteilt durch 3 erhalten.
  3. Nachdem jede Person ihr monatliches Download-Limit überschritten hat, sollte sie in der Lage sein, nur mit einer Geschwindigkeit von 256 KBit / s oder weniger auf das Internet zuzugreifen.
  4. Kann ich eine benutzerdefinierte Firmware auf meinem WLAN-Router haben? (Oder) Benötige ich einen Proxy-Server?

Bitte verweisen Sie mich auf relevante Tutorials (zum Beispiel mit Squid).

Update: Ich suche nicht nur nach Router- / Firmware-Lösungen, sondern bin offen für die Ausführung eines Proxyservers auf einem der PCs im Netzwerk oder einer ähnlichen Lösung.

Rajavanya Subramaniyan
quelle

Antworten:

14

Mach das nicht mit Squid: Du brauchst Kontrolle für alles, nicht nur für HTTP auf Port 80.

Die Antwort erfordert iptables mit der Option '--quota', die Netzwerkkontingente durch Dekrementieren eines Bytezählers mit jedem Paket implementiert. Das Argument "--quota" ist ein Wert in Bytes.

Für jeden Benutzer muss eine Kette vorhanden sein. Die erste Regel der Kette zählt ein 13-GB-Kontingent für Pakete von 192.168.0.2 herunter und akzeptiert das Paket, wenn es unter dem Kontingent liegt:

iptables -A INPUT -p tcp -s 192.168.0.2 -m quota --quota 13958643712 -j ACCEPT

Die zweite Regel der Kette klassifiziert Überkontingentpakete in eine TC-Klasse Ihrer Wahl:

iptables -A INPUT -p tcp -j CLASSIFY --set-class 1:12

Dann ist das alles klassische Traffic-Shaping: http://tldp.org/HOWTO/Traffic-Control-HOWTO/

Natürlich müssen Sie die statische IP-Zuweisung verwenden oder sicherstellen, dass DHCP Adressen zuweist, die durch die MAC-Adresse des Geräts festgelegt sind - und Sie müssen alle Adressen außer den identifizierten der Geräte blockieren, die einem der drei Benutzer gehören.

Übrigens erwähnen Sie, dass "wenn 2 Personen im Internet surfen, sie jeweils 1 Mbit / s erhalten sollten und wenn 3 Personen auf das Internet zugreifen, sollten sie 2 Mbit / s geteilt durch 3 erhalten", aber Sie können dies besser tun, wenn Sie Ihre Verkehrsklassenhierarchie einrichten : Ihre Anforderung sollte eher lauten: "Wenn zwei Personen im Internet surfen, sollten sie nicht weniger als 1 Mbit / s pro Person erhalten. Wenn drei Personen auf das Internet zugreifen, sollten sie nicht weniger als 2 Mbit / s geteilt durch 3 erhalten." andere Leute verbrauchen weniger als ihren garantierten Durchsatz ... Und mit tc können Sie das tun!

Da Ihr Router von openwrt und dd-wrt unterstützt wird, haben Sie alle Tools, die Sie benötigen!

Jean-Marc Liotier
quelle
Genial beste Antwort! vielen dank .. aber mein router wird von openwrt oder dd-wrt nicht unterstützt, nur v1 und v3 der gleichen serie sind, meins ist v2. Also werde ich untersuchen, wie ich eine alte Maschine am selben Ort verwende.
Rajavanya Subramaniyan 18.11.11
4

Ich kann mich nicht sofort erinnern, ob es alle von Ihnen genannten Funktionen unterstützt, aber ich kann pfSense als Router-Lösung nur empfehlen . Es ist klein genug, um einen USB-Datenträger auszuführen, und bietet eine Vielzahl von Freigabelösungen. Ich hatte das Squid-Add-On installiert, um beispielsweise einen transparenten Proxy für alle internen Server bereitzustellen, und sogar für ein Paket, das installiert wurde, um detaillierte Berichte über die Netzwerknutzung zu erhalten.

Ich biete auch Funktionen für Internetcafes an, zum Beispiel eine Anmeldeseite, damit Gäste das System nutzen können. Es ist einfach, eine VM einzurichten, und es gibt eine Menge Dokumentation darüber, wie sie mit verschiedenen Konfigurationen installiert werden kann.

Ich habe dies zu Hause mit 8 anderen Maschinen benutzt. Möglicherweise müssen Sie bei korrekter Einrichtung die Grenzwerte nicht so stark wie bisher festlegen.

BinaryMisfit
quelle
pfSense eignet sich hervorragend für eine schnelle und einfache Einrichtung mit einer Weboberfläche. Wenn Sie mehr erfahren möchten, installieren Sie einfach OpenBSD und richten Sie es selbst ein. Es macht viel Spaß, es zu lernen.
SleighBoy
0

Ihr Netgear WNR1000v2 scheint ein halbdummes Gerät zu sein. Ich habe nur festgestellt, dass Sie portbasierte oder MAC-basierte QoS aktivieren können. Sie können die QoS für Ihren schlecht benommenen Root-Mate auf "niedrig" setzen.

Alles andere erfordert mehr "Gehirn" - dh einen richtigen (intelligenten) Proxy.

Nils
quelle
Ich sehe nirgendwo in der Systemsteuerung des WNR1000v2 QoS-Optionen. Ich habe auch auf das vollständige Benutzerhandbuch verwiesen. Könnten Sie erklären, wo genau Sie dies finden und dies bitte konfigurieren?
Rajavanya Subramaniyan
Auf der WNR1000v2- Seite
Nils