Comment configurer un serveur proxy pour la maison avec contrôle de la bande passante, options de limite de téléchargement?

17

3 colocataires partagent une seule connexion à 2 Mbps. Avoir une limite de téléchargement de 40 Go par mois au-delà de laquelle la vitesse tombe à 256 Kbps, ce qui est ennuyeux.

L'un des colocataires abuse de la connexion en téléchargeant au-delà de sa limite de quota. J'ai un routeur sans fil Netgear WNR1000v2 + un modem ADSL pour me connecter à Internet. Nous accédons tous à Internet via un routeur sans fil qui se connecte au modem ADSL.

J'ai besoin d'une solution proxy gratuite qui peut m'aider à définir

  1. Limite de 40 Go / 3 (13 Go) pour chaque personne (chaque personne a 2 appareils - un PC et un téléphone avec Wifi)
  2. Contrôle uniforme de la bande passante - lorsque 2 personnes naviguent sur Internet, elles doivent obtenir 1 Mbps chacune, et lorsque 3 personnes y accèdent, elles doivent obtenir 2 Mbps divisés par 3.
  3. Une fois que chaque personne a dépassé sa limite de téléchargement mensuelle, elle doit pouvoir accéder à Internet avec une vitesse de 256 Kbps uniquement ou moins.
  4. Puis-je avoir un firmware personnalisé sur mon routeur sans fil faire cela (ou) Ai-je besoin d'un serveur proxy?

Veuillez me diriger vers des tutoriels pertinents (par exemple avec Squid).

Mise à jour: Je ne recherche pas de solutions de routeur uniquement / firmware, je suis ouvert à l'exécution d'un serveur proxy sur l'un des PC du réseau ou tout autre type de solution similaire.

Rajavanya Subramaniyan
la source

Réponses:

14

Ne le faites pas avec Squid: vous avez besoin de tout contrôler, pas seulement pour HTTP sur le port 80.

La réponse nécessite iptables avec l'option '--quota', qui implémente les quotas réseau en décrémentant un compteur d'octets avec chaque paquet. L'argument "--quota" est une valeur en octets.

Il doit y avoir une chaîne pour chaque utilisateur. La première règle de la chaîne décompte un quota de 13 Go pour les paquets à partir de 192.168.0.2 et accepte le paquet s'il est inférieur au quota:

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

Deuxième règle de la chaîne classer les paquets hors quota dans une classe tc de votre choix:

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

Ensuite, il s'agit de la mise en forme du trafic classique: http://tldp.org/HOWTO/Traffic-Control-HOWTO/

Bien sûr, vous devez utiliser l'allocation IP statique ou vous assurer que DHCP alloue les adresses fixées par l'adresse MAC de l'appareil - et vous devez bloquer toutes les adresses sauf celles identifiées des appareils appartenant à l'un des trois utilisateurs.

Soit dit en passant, vous mentionnez que "lorsque 2 personnes naviguent sur Internet, elles devraient obtenir 1 Mbps chacune, et lorsque 3 personnes y accèdent, elles devraient obtenir 2 Mbps divisés par 3", mais vous pouvez faire mieux que cela lorsque vous configurez votre hiérarchie de classes de trafic. : votre exigence devrait plutôt être "lorsque deux personnes naviguent sur Internet, elles ne doivent pas obtenir moins de 1 Mbps chacune, et lorsque trois personnes y accèdent, elles ne doivent pas obtenir moins de 2 Mbps divisés par 3" afin que chacun puisse obtenir plus si le d'autres personnes utilisent moins que leur débit garanti ... Et tc vous permet de le faire!

Étant donné que votre routeur est pris en charge par openwrt et dd-wrt, vous avez tous les outils dont vous avez besoin!

Jean-Marc Liotier
la source
Impressionnant meilleure réponse! merci beaucoup .. mais mon routeur n'est pas supporté par openwrt ou dd-wrt, seuls les v1 et v3 de la même série le sont, le mien est v2. Je vais donc chercher à utiliser une vieille machine au même endroit.
Rajavanya Subramaniyan,
4

Je ne me souviens pas si elle prend en charge toutes les fonctionnalités que vous mentionnez, mais je peux fortement recommander pfSense comme solution de routeur. Il est assez petit pour exécuter un disque USB et offre une multitude de solutions de partage. J'ai eu le module complémentaire squid installé par exemple pour fournir un proxy transparent à tous les serveurs internes, et même à un package installé pour obtenir des rapports détaillés sur l'utilisation du réseau.

J'offre également des fonctionnalités de type cybercafé, par exemple une page de connexion pour que les clients puissent utiliser le système. Il est facile à installer dans une machine virtuelle et il existe de nombreuses documentations sur la façon de l'installer avec différentes configurations différentes.

Je l'ai utilisé à la maison avec 8 autres machines. Vous pourriez trouver, avec une configuration correcte, vous n'aurez peut-être pas besoin d'introduire les limites aussi lourdement que vous.

BinaryMisfit
la source
pfSense est idéal pour une configuration rapide et facile avec une interface Web. Si vous voulez en savoir plus, installez simplement OpenBSD et configurez pf vous-même, c'est très amusant à apprendre.
SleighBoy
0

Votre Netgear WNR1000v2 semble être un appareil semi-stupide. Tout ce que j'ai trouvé, c'est que vous pouvez activer la QoS basée sur port ou MAC. Vous pouvez définir la QoS sur "faible" pour votre root-mate qui se comporte mal.

Tout le reste nécessite plus de "cerveau" - c'est-à-dire un proxy approprié (intelligent).

Nils
la source
Je ne vois aucune option QoS nulle part dans le panneau de contrôle WNR1000v2, j'ai également fait référence au manuel d'utilisation complet. Pourriez-vous expliquer où exactement trouver ceci et le configurer s'il vous plaît?
Rajavanya Subramaniyan
Il y a un PDF décrivant la QoS sur la page
Nils