Caching Proxy
um traffic zu sparen
Squid installieren + konfigurieren
Mit apt installieren:
apt update apt upgrade apt install squid
In der voreingestellten Konfiguration horcht squid auf private Netzwerke (RFC1918):
acl localnet src 0.0.0.1-0.255.255.255 # RFC 1122 "this" network (LAN) acl localnet src 10.0.0.0/8 # RFC 1918 local private network (LAN) acl localnet src 100.64.0.0/10 # RFC 6598 shared address space (CGN) acl localnet src 169.254.0.0/16 # RFC 3927 link-local (directly plugged) machines acl localnet src 172.16.0.0/12 # RFC 1918 local private network (LAN) acl localnet src 192.168.0.0/16 # RFC 1918 local private network (LAN) acl localnet src fc00::/7 # RFC 4193 local private network range acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines acl SSL_ports port 443 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl CONNECT method CONNECT http_access deny !Safe_ports http_access deny CONNECT !SSL_ports http_access allow localhost manager http_access deny manager include /etc/squid/conf.d/* http_access allow localhost http_access deny all http_port 3128 coredump_dir /var/spool/squid refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 refresh_pattern . 0 20% 4320
Bevor wir die Konfiguration veraendern, stellen wir das Konfig-File
unter lokale, file-basierte Versionskontrolle. Dazu installieten wir
erst das Paket rcs:
Reading package lists... Done Building dependency tree... Done Reading state information... Done The following NEW packages will be installed: rcs 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 216 kB of archives. After this operation, 575 kB of additional disk space will be used. Get:1 http://deb.debian.org/debian bullseye/main amd64 rcs amd64 5.10.0-1 [216 kB] Fetched 216 kB in 23s (9257 B/s) Selecting previously unselected package rcs. (Reading database ... 28001 files and directories currently installed.) Preparing to unpack .../rcs_5.10.0-1_amd64.deb ... Unpacking rcs (5.10.0-1) ... Setting up rcs (5.10.0-1) ... Processing triggers for man-db (2.9.4-2) ... root@proxy:~#
RCS ist der Urvater der textbasierten Versionsverwaltung , und stellt fuer die verschiedenen Aufgaben jeweils eine Befehle zur Verfuegung. Die wichtigsten sind
-
cifiles einchecken -
coVersionen von files auschecken -
identVersions-Informationen anzeigen (auch wenn sie in Sprachenabhaengige Programmstrukturen aingebunden sind -
rlogVersionsgeschichte mit Log-Informationen anzeigen -
rcsdiffUnterschiede zwischen Versionen anzeigen
Wir erzeugen eine initial version (immer 1.1) des files durch einen
ersten checkout:
root@proxy:/etc/squid# ci -l squid.conf squid.conf,v <-- squid.conf enter description, terminated with single '.' or end of file: NOTE: This is NOT the log message! >> initial version from install >> . initial revision: 1.1 done
und koennen da froehlich aendern, weil wir wissen dass wir mit
rcsdiff zuverlaessig die Unterschiede sehen koennen. Wir passen die
maximum_object_size an auf > 10G damit wir auch haesslich grosse ISOs
cachen (looking at you,
Windows
Developer VMs !). Und wir legen ein cache directory an damit unser
cache auch reboots ueberlebt. nach der Anpassung des config-files muss
das neue cache_dir noch vorbereitet werden:
Die Konfiguration in /etc/squid/squid.conf anpassen: