Commencons par un bon vieux
[bash] sudo apt-get install squid
Pour mettre en pratique Squid, il suffit simplement de configurer les navigateurs web client afin d’utiliser un proxy, ayant pour adresse celle de la machine squid. Squid écoute par défaut sur le port 3128
Par défaut Squid est configuré et fonctionnel. Cependant, on peut apporter quelques modifications afin de l’optimiser ou mieux l’adapter à certain environnement. Le fichier de configuration de Squid est /etc/squid/squid.conf.
Il y a peu de choses à modifier si ce n’est l’emplacement du (ou des) répertoire(s) cache devant stocker les objets, la quantité de mémoire que l’on alloue au process squid et l’emplacement des logs.
Pour des raisons de sécurité , par défaut personne ne peut utiliser le cache, il faut explicitement donner l’autorisation à des clients.
A l’origine, le fichier squid.conf contient l’intégralité de valeurs par défaut. Elles sont reconnaissables car elles sont traitées comme un commentaire (caractère #).
Important : Si vous apportez des modifications au fichier de configuration, je vous conseille de laisser en commentaire la valeur par défaut des paramètres afin d’avoir toujours sous les yeux la configuration par typique de Squid.
Les paramètres importants sont :
http_port 3128
(c’est le port sur lequel travaille le cache, 3128 par défaut, certains déplacent ce port en 8080 dans notre cas il sera sur le port 8081)cache_effective_user nobody nobody
(sert à affecter un utilisateur et un groupe pour squid)visible_hostname cache.knowledgeplaza.lan
(c’est le nom que renvoi squid lorsqu’il est interrogé de l’extérieur)cache_mem 20 MB
(c’est la mémoire que l’on alloue à Squid pour tourner , valeur par défaut 8 MB).cache_dir /cache 3200 16 256
(pour indiquer le répertoire devant accueillir les objets, la taille disque, le nombre de répertoires de premier et de second niveau pour le stockage)cache_access_log /var/log/squid/access.log
(pour indiquer à quel endroit stocker le fichier log des requêtes)cache_log /var/log/squid/cache.log
(pour indiquer à quel endroit stocker le fichier log de squid)cache_store_log none
(pour ne pas enregistrer dans un fichier de log les ecritures et effacements d’objets)
Il faut ensuite définir les règles d’accès au cache (dit access-list ou acl). Si votre cache s’insère dans un établissement scolaire, il y a de forte chance que vous ne soyez pas raccordé de façon permanente à l’Internet aussi la règle suivante suffira :
http_access allow all
(pour autoriser tout le monde à utiliser le cache)
Pour tester le serveur proxy :
mettre la variable d’environnement http_proxy à l’adresse du proxy :
[bash] export http_proxy=http://127.0.0.1:8081
Puis trouvez une grosse image à télécharger sur le net :
[bash] wget http://adresse_de_l_image
Une fois téléchargée, réessayez la même commande … normalement ça devrais aller beaucoup plus vite.
Finaliser
Pour être certain que le serveur proxy soit utilisé dans tous les terminaux, ajoutez une entrée dans votre /etc/bash.bashrc avec la ligne :
[bash] export http_proxy=http://127.0.0.1:8081
Références supplémentaires :
- Squid (documentation ubuntu)
- Squid, configuration