Dies ist eine alte Version des Dokuments!


Squid DEB Proxy

Verwendetes System: Ubuntu 16.04

Dieser ersetzt den Apt-cacher-NG vollwertig. Damit sind auch lässtige Updateprobleme behoben. Auch ist gibt es einen Client der per Multcast den Squid dynamisch automatisch einbindet.

apt install squid-deb-proxy -y

Hier wird es entwas kniffliger. Im Gegesatz zum Apt-cacher muss im Squid wirklich jede Quelle die gecacht werden soll eingetragen werden. ACLs für Netze können auf ALL gesetzt oder die gewünschten Netze per IPV4/IPV6 angegeben werden. Der Ort des Caches kann frei gewählt werden. Hier auf einem eigenen gzip-9 komprimierten ZFS-Dataset.

nano /etc/squid-deb-proxy/allowed-networks-src.acl
...
all
...

Mit nur diesem einen Eintrag sind alle Netze zum Proxy zugänglich.

nano /etc/squid-deb-proxy/squid-deb-proxy.conf
...
cache_dir aufs  /home/squid-deb-proxy 40000 16 256
...

Die Datei je nach Quellen/Wunsch anpassen. /etc/squid-deb-proxy/mirror-dstdomain.acl

mirror-dstdomain.acl
# mirror-dstdomain.conf
# 
# network destinations that are allowed by this cache
 
# default ubuntu and ubuntu country archive mirrors
.archive.ubuntu.com 
ports.ubuntu.com 
security.ubuntu.com
ddebs.ubuntu.com
mirrors.ubuntu.com
 
#official third party repositories
.archive.canonical.com
.extras.ubuntu.com
 
# default changelogs location, this includes changelogs and the meta-release
# file that has information about new ubuntu versions
changelogs.ubuntu.com
 
# additional destinations can be added to the directory:
#  /etc/squid-deb-proxy/mirror-dstdomain.acl.d
 
 
# osit.cc
.puppetlabs.com
.styrion.at
.styrion.net
.steampowered.com
.mkvtoolnix.download
.iteas.at
.freerdp.com
.launchpad.net
.google.com
.virtualbox.org
.kde.org
.teamviewer.com
.skype.com
.debian.org
.proxmox.com
.download.onlyoffice.com

Zum Schluss den Dienst noch neu Starten:

systemctl restart squid-deb-proxy.service

Wer bereits den Apt-cacher im Einsatz hat, möchte sich natürlich so wenig Arbeit wie möglich antun. Hierfür genügt es den Port des Proxys in der Datei /etc/squid-deb-proxy/squid-deb-proxy.conf zu ändern.

...
# default to a different port than stock squid
http_port 3142
...

Statisch per:

echo 'Acquire::http { Proxy "http://hostname.local:3142"; };' | sudo tee /etc/apt/apt.conf.d/01proxy

Automatische Anbindung per Multicast (Avahi):

apt install squid-deb-proxy-client -y

FIXME Die automatische Methode hat hier bei meinem Test nicht funktioniet, hat aber auch keine Fehlermeldung gebracht.