Come posso impostare un server proxy per la casa con controllo della larghezza di banda, opzioni di limite di download?


17

3 coinquilini condividono una singola connessione da 2 Mbps. Avere un limite di download di 40 GB al mese oltre il quale la velocità scende a 256 Kbps, il che è fastidioso.

Uno dei coinquilini abusa della connessione scaricando oltre il limite di quota. Ho un router wireless Netgear WNR1000v2 + modem ADSL per connettermi a Internet. Tutti accediamo a Internet tramite un router wireless che si collega al modem ADSL.

Ho bisogno di una soluzione proxy gratuita che possa aiutarmi a impostare

  1. Limite di 40 GB / 3 (13 GB) per ogni persona (ogni persona ha 2 dispositivi: un PC e un telefono con Wifi)
  2. Controllo uniforme della larghezza di banda: quando 2 persone navigano in Internet dovrebbero ottenere 1 Mbps ciascuno e quando 3 persone accedono, dovrebbero ottenere 2 Mbps divisi per 3.
  3. Dopo che ogni persona ha superato il limite di download mensile, dovrebbe essere in grado di accedere a Internet solo con una velocità di 256 Kbps o inferiore.
  4. Posso avere un firmware personalizzato sul mio router wireless per fare questo (o) Ho bisogno di un server proxy?

Ti prego di indicarmi tutti i tutorial pertinenti (ad esempio con Squid).

Aggiornamento: non cerco solo soluzioni router / firmware, sono aperto all'esecuzione di un server proxy su uno dei PC in rete o qualsiasi altro tipo simile di soluzioni.

Risposte:


14

Non farlo con Squid: hai bisogno di controllo per tutto, non solo per HTTP sulla porta 80.

La risposta richiede iptables con l'opzione '--quota', che implementa le quote di rete diminuendo un contatore di byte con ciascun pacchetto. L'argomento di "--quota" è un valore in byte.

Ci sarà una catena per ogni utente. La prima regola della catena conta una quota di 13 GB per i pacchetti da 192.168.0.2 e accetta il pacchetto se è inferiore alla quota:

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

La seconda regola della catena classifica i pacchetti over-quota in una classe tc a tua scelta:

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

Quindi è tutto il classico shaping del traffico: http://tldp.org/HOWTO/Traffic-Control-HOWTO/

Naturalmente, è necessario utilizzare l'allocazione IP statica o assicurarsi che DHCP alloca gli indirizzi fissati dall'indirizzo MAC del dispositivo e che sia necessario bloccare tutti gli indirizzi tranne quelli identificati dei dispositivi appartenenti a uno dei tre utenti.

A proposito, dici che "quando 2 persone navigano in Internet dovrebbero ottenere 1 Mbps ciascuno e quando 3 persone accedono, dovrebbero ottenere 2 Mbps divisi per 3" ma puoi fare di meglio quando imposti la gerarchia delle tue classi di traffico : il tuo requisito dovrebbe piuttosto essere "quando due persone navigano in Internet non dovrebbero ottenere meno di 1 Mbps ciascuno e quando tre persone accedono, non dovrebbero ottenere meno di 2 Mbps divisi per 3" in modo che ognuno possa ottenere di più se il altre persone usano meno del loro throughput garantito ... E tc ti consente di farlo!

Poiché il tuo router è supportato da openwrt e dd-wrt, hai tutti gli strumenti di cui hai bisogno!


La migliore risposta eccezionale! grazie mille .. ma il mio router non è supportato da openwrt o dd-wrt, solo v1 e v3 della stessa serie lo sono, il mio è v2. Quindi esaminerò l'utilizzo di una vecchia macchina nello stesso posto.
Rajavanya Subramaniyan,

4

Non riesco a ricordare a portata di mano se supporta tutte le funzionalità menzionate, ma consiglio vivamente pfSense come soluzione router. È abbastanza piccolo da funzionare con un disco USB e offre una serie di soluzioni di condivisione. Avevo installato il componente aggiuntivo calamari, ad esempio, per fornire un proxy trasparente a tutti i server interni e persino in un pacchetto installato per ottenere report dettagliati sull'uso della rete.

Offro anche funzionalità di tipo internet cafe, ad esempio una pagina di accesso per gli ospiti di utilizzare il sistema. È facile da configurare in una macchina virtuale e c'è molta documentazione su come installarla con varie configurazioni diverse.

L'ho usato a casa con altre 8 macchine. Potresti scoprire, con la sua corretta configurazione, potrebbe non essere necessario introdurre i limiti così pesantemente come hai.


pfSense è ottimo per una configurazione semplice e veloce con un'interfaccia web. Se vuoi saperne di più, installa OpenBSD e configura te stesso, è molto divertente da imparare.
SleighBoy,

0

Il tuo Netgear WNR1000v2 sembra essere un dispositivo semi-stupido. Tutto quello che ho scoperto è che puoi abilitare QoS basato su porte o MAC. Potresti impostare il QoS su "basso" per il tuo compagno di root che si comporta male.

Qualsiasi altra cosa richiede più "cervello", ovvero un proxy (intelligente) adeguato.


Non vedo le opzioni QoS da nessuna parte nel pannello di controllo WNR1000v2, ho anche fatto riferimento al manuale utente completo. Potresti spiegare dove trovarlo esattamente e configurarlo per favore?
Rajavanya Subramaniyan,

C'è un PDF che descrive QoS sulla pagina
Nils

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.