Raspberry Pi en proxy avec Squid pour accélérer votre navigation

Lorsque plusieurs personnes utilisent votre connexion, ça peut bouchonner. Surtout si chez vous il y a des fans de Pinterest, Facebook, etc. Les pages vont se rafraichir mais souvent avec des données communes. Et c’est là que Squid intervient.

Squid va mettre en cache vos pages, vérifier si les données sont à jour, etc. Après plusieurs jours d’utilisation, le gain estimé (calculé par les logs via calamaris)

  1. Installer Squid
    sudo apt-get install squid
  2. Sauvegarder le fichier de configuration standard
    cd /etc/squid/
    
    sudo cp squid.conf squid.conf.origin
  3. Vous pouvez filtrer les lignes et enlever les lignes avec des commentaires. Vous aurez un fichier ultra light !
    sudo cat squid.conf.origin | egrep -v -e '^[[:blank:]]*#|^$' > squid.conf

    Par défaut le répertoire où votre cache sera stocké est /var/spool/squid/

  4. Ajouter votre réseau à la fin de la liste des ACL. Chez moi je suis en local sur le 192.168.1.x. J’ai donc ajouté la ligne suivante
    acl LocalNet src 192.168.1.0/24

    Par contre avec ce masque j’ai dû désactivé (mettre # en début de ligne) cet ACL présent par défaut

    #acl localnet src 192.168.0.0/16        # RFC1918 possible internal network
  5. Autoriser les machines du réseau à se connecter au proxy. Ajouter la ligne rouge. Le lien se fait avec le nom. Ici LocalNet.
    http_access allow localhost
    
    http_access allow LocalNet
    
    http_access deny all
  6. Recharger la configuration de Squid
    sudo /etc/init.d/squid reload
  7. Vous pouvez maintenant configurer votre navigateur ou OS pour utiliser le proxy en HTTP avec l’ip du Raspberry Pi et le port (par défaut) 3128.

Pour une gestion de la configuration via une interface web, vous pouvez utiliser Webmin. L’outil permet de faire tous les changements de configuration.

  1. Installer Webmin
    mkdir webmin
    
    cd webmin/
    
    wget http://prdownloads.sourceforge.net/webadmin/webmin-1.620.tar.gz
    
    tar zxvf webmin-1.620.tar.gz
    
    cd webmin-1.620/
    
    sudo ./setup.sh /usr/local/webmin
  2. Installer l’analyseur de log calamaris, très pratique pour les informations d’utilisation du proxy
    sudo apt-get install calamaris

Vous pouvez maintenant vous connecter sur l’ip de votre Raspberry Pi sur le port 10000. Vous vous identifiez avec l’id et le mot de passe de l’étape 1.

Chez moi j’ai trouvé le point d’entrée dans le menu ‘Un-used Modules’ car la configuration par défaut n’est pas bonne. Vous aurez donc à changer quelques paramètres pour que le module revienne à sa place. Ci dessous ma configuration :

webmin-2

Dans la section serveur, vous avez maintenant accès à toute la configuration de Squid

webmin-0

Grâce aux logs et à Calamaris vous pourrez suivre l’utilisation de votre proxy et de ses performances :

webmin-1

Amélioration de 19% des performances de navigation. A voir dans le temps si ça reste aussi bon.

Voilà. Mon Mac et mon iPad sont configurés pour passer par le proxy. Le test ultime : Madame ! Si je n’ai pas de remarques genre « mais pourquoi c’est plus lent » ou « t’es pénible avec tes bidouilles », alors c’est que ça valait le coup 😀

Je vais travailler pour le cache DNS, le HTTPS, l’occupation du disque,de la mémoire et quelques autres fonctionnalités qui peuvent encore améliorer les performances.

Vous aimez cet article ? Supportez-moi sur Patreon!

Vous aimerez aussi...