© Tito
Squid tunning
Vous avez un proxy Squid ? Voici quelques astuces pour limiter la bande passante sur certaines connexions ou encore pour sécuriser les accès par un mot de passe
1/ A la maison pour limiter simplement la bande passante des autres ordinateurs , tablettes et mobiles de la famille :
sur votre pc linux qui servira de passerelle internet , installez simplement la package squid
puis dans le fichier de config /etc/squid/squid.conf ajoutez ces quelques lignes :
delay_pools 1
delay_class 1 1
delay_access 1 allow localnet
delay_access 1 allow localhost
delay_parameters 1 40000/40000
(ici je suis sur une connexion à 600kb, soit environ 65ko/s et je limite donc à 40ko/s)
ensuite lancez le service squid ( systemctl enable squid ; systemctl start squid)
sur les autres postes il suffit de configurer en proxy l'adresse ip de ce pc et en port : 3128
Pour tester la vitesse de le connexion et vérifier qu'elle est bien limitée :
http://ovh.net
Android : Pour modifier les paramètres proxy de la connexion wifi des mobiles et tablettes :
- Ouvrez la barre des Applications et appuyez sur Paramètres.
- Appuyez sur Sans fil et réseaux.
- Assurez-vous que le réseau sans fil est activé, et qu'il est connecté au réseau pour lequel définir le serveur proxy.
- Appuyez sur Paramètres Wi-Fi.
- Dans la liste des réseaux disponibles, appuyez et maintenez enfoncé le réseau auquel vous êtes connecté jusqu'à ce qu'un menu s'affiche.
- Appuyez sur Modifier le réseau.
- Appuyez sur Paramètres du proxy, ensuite sur Manuel.
PS : si vous avez sécurisé votre linux, il faut bien sur autoriser sur le firewall de linux les connexions entrantes de votre réseau local, à ce sujet :
http://astuces.zaclys.com/Linux-Firewalld-le-remplacant-diptables,p121,307
2/ Plus complexe, le réseau d'entreprise :
Imaginons (c'est impossible mais imaginons) que vous voulez donner accès via un proxy Squid à des serveurs externes. L'accès internet est protégé par un firewall et votre proxy squid linux dispose de 2 cartes réseaux , une connectée sur le réseau local et l'autre a un accès vers l'extérieur : vos usagers doivent donc passer par ce proxy pour "sortir" sur internet.
Vous voulez qu'ils puissent utiliser ce proxy pour aller sur votre site web externe sans restriction (pas de mot de passe, pas le limite de bande passante) , vers votre serveur de gros fichiers sans mot de passe mais avec une limite de bande passante, et vers tout le reste du web il sera demandé un mot de passe et une limite de bande passante sera appliquée.
Pour simplifier on créera ici un compte et un mot de passe unique (toto/secret).
(Il est bien sur possible d'utiliser un controlleur de domaine windows server et de s'appuyer sur lui pour valider les login/mot de passe de vos utilisateurs windows de façon transparente, mais c'est un autre sujet).
Nous avons donc 3 circuits :
- versNotreSite
- versGrosFichiers
- versLeReste
Il faut d'abord utiliser le systeme d'acl de squid pour déclarer ces circuits, soit dans /etc/squid/squid.conf :
acl versNotreSite dst www.monsite.com/32
acl versGrosFichiers dst www.mesgrosfichiers.com/32
acl versLeReste proxy_auth toto
Note pour le dernier : pas de restriction sur le site destinataire (dst) , on identifie donc ici tout le web, mais par contre on précise qu'on demandera une authentification pour le user 'toto' uniquement (on pourrait faire suivre par d'autres) via la primitive proxy_auth.
Ensuite on autorise le trafic sur ces 3 circuits et on interdit le reste :
http_access allow versNotreSite
http_access allow versGrosFichiers
http_access allow versLeReste
http_access deny all
Et finalement on limite la bande passante à environ 300ko pour les 2 derniers circuits (à adapter en fonction de votre bande passante, évidemment) :
delay_pools 1
delay_class 1 1
delay_access 1 allow versGrosFichiers
delay_access 1 allow versLeReste
delay_parameters 1 300000/300000
(attention pour mettre 300kbp, il faut diviser par 10 environ)
Le compte utilisateur sera créé au niveau du système :
# adduser toto -s /sbin/nologin -c "user squid"
# passwd toto
secret
secret
Maintenant relancer squid :
service squid restart
Notes :
- pour démarrer Squid automatiquement au prochain reboot : chkconfig squid on
- si besoin autorisez les machines du réseau local à passer par votre squid au niveau de vos iptables (cf /etc/sysconfig/iptables et cet article : Transformer votre linux en routeur pour partager votre connexion internet en toute sécurité »)
Si cet article vous a été utile ou si vous avez rencontré des problèmes, laissez moi un message ci-dessous.
Pour aller plus loin :
10 303 clics - Créé le 03/12/2008 par Tito - Modifié le 11/01/2014