Proxy Squid configuré pour faire du cache de paquet sur le réseau local
Si vous disposez de plusieurs ordinateurs sur un réseau local, ceux-ci téléchargent souvent les mêmes paquets dans le dépôts, par exemple lorsqu'ils effectuent les mises à jour.
Pour éviter que ces paquets soient téléchargés plusieurs fois, il existe plusieurs méthodes, comme les proxy cache. La plupart de ces méthodes nécessitent, par contre, l'utilisation d'un « nœud central », à partir duquel sont récupérés les paquets.
Squid-deb-proxy télécharge les paquets lors des sollicitations des clients et en garde une copie. Il redistribue alors les copies si un autre client demande les mêmes paquets.
Squid-deb-proxy étant basé sur Squid, il sait garder les connexions http ouvertes avec le paramètre keepalive, et est à ce titre plus rapide qu'apt-cacher ou apt-cacher-ng.
Squid-deb-proxy peut être utilisé de 2 façons :
- à travers le système de découverte du réseau zeroconf pour découvrir et partager un éventuel « nœud central » sur le réseau qui pourra redistribuer les paquets. Cas idéal dans un réseau personnel
- en tant que proxy APT déclaré explicitement sur les clients. Ce cas implique que le serveur soit tout le temps disponible.
Si vous avez une machine qui est allumée plus souvent que les autres, c'est celle qui faut choisir comme « nœud central », qu'on appellera également « serveur » dans la suite de cette page.
- lorsqu'elle est allumée, elle évitera le téléchargement multiple d'un même paquet (source)
- lorsqu'elle ne l'est, les clients récupéreront les paquets directement sur l'Internet
Installation
Sur la machine serveur, installer squid-deb-proxy
Sur toutes les machines (y compris le « serveur »), au choix :
- installer squid-deb-proxy-client pour l'usage à travers le système de découverte du réseau zeroconf
- Configurer les clients en indiquant l'adresse du serveur (ici avec l'IP 192.168.2.125 pour l'exemple):
echo "Acquire::http::Proxy \"http://192.168.2.125:8000\";" | sudo tee /etc/apt/apt.conf.d/01proxy''
Configuration
Pour permettre l'accès a des dépôts tiers (type PPA), modifier le fichier /etc/squid-deb-proxy/squid-deb-proxy.conf en changeant les directives existantes de la manière suivante :
#http_access deny !to_archive_mirrors http_access allow !to_archive_mirrors
Pour autoriser l'accès en IPv6 depuis le lan avec adressage globale, ajouter le plage IPv6 dans le fichier /etc/squid-deb-proxy/allowed-networks-src.acl.d/10-default. En effet par défaut seules les adresses de liens sont autorisées.