Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Nächste Überarbeitung
Vorherige Überarbeitung
server_und_serverdienste:squid_deb_proxy [2018/04/06 10:17] – angelegt boospyserver_und_serverdienste:squid_deb_proxy [2021/03/04 15:01] (aktuell) lois
Zeile 1: Zeile 1:
 ====== Squid DEB Proxy ====== ====== Squid DEB Proxy ======
  
 +Hauseigenes Apt-Repo: [[https://apt.iteas.at]]    [[https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=KE592Y5993ZKW|{{:wiki:btn_donatecc_lg.gif|}}]]
 +\\
 +\\
 Verwendetes System: __Ubuntu 16.04__ Verwendetes System: __Ubuntu 16.04__
  
Zeile 9: Zeile 12:
 apt install squid-deb-proxy -y apt install squid-deb-proxy -y
 </code> </code>
- +Hierbei wird auch der normale Squidproxy mit installiert. Diesen brauchen wir auf jeden Fall mal nicht. 
-==== Konfiguration ====+<code> 
 +systemctl disable squid.service 
 +</code> 
 +===== Konfiguration =====
 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.  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. 
  
  
-=== ACL's setzte/aufmachen ===+==== ACL's setzte/aufmachen ====
 <code> <code>
 nano /etc/squid-deb-proxy/allowed-networks-src.acl nano /etc/squid-deb-proxy/allowed-networks-src.acl
Zeile 25: Zeile 31:
 Mit nur diesem einen Eintrag sind alle Netze zum Proxy zugänglich.  Mit nur diesem einen Eintrag sind alle Netze zum Proxy zugänglich. 
  
-=== Cacheverzeichnis setzen (optional) ===+==== Cacheverzeichnis und Objektgröße setzen (optional) ====
 <code> <code>
 nano /etc/squid-deb-proxy/squid-deb-proxy.conf nano /etc/squid-deb-proxy/squid-deb-proxy.conf
Zeile 32: Zeile 38:
 ... ...
 cache_dir aufs  /home/squid-deb-proxy 40000 16 256 cache_dir aufs  /home/squid-deb-proxy 40000 16 256
 +...
 +# we need a big cache, some debs are huge
 +maximum_object_size 1024 MB
 ... ...
 </code> </code>
-=== Mirrors definieren === +Die Objektgröße bezieht sich auf die DEB-Pakete. Setzt man das auf 1024 so wird der Download über diesen Wert pro Paket nicht gecacht. Setzt sein Cachdir extern muss man das Appamor mitteilen. Z.B: 
-Die Datei je nach Quellen/Wunsch anpassen. ''/etc/squid-deb-proxy/mirror-dstdomain.acl'' +<code> 
-<file bash mirror-dstdomain.acl> +nano  /etc/apparmor.d/usr.sbin.squid 
-# mirror-dstdomain.conf+</code> 
 +<code> 
 +# squid-deb-proxy 
 +... 
 +/mnt/NFS4-fqdn/home/squid-deb-proxy/ r, 
 +/mnt/NFS4-fqdn/home/squid-deb-proxy/** rwk, 
 +... 
 +</code> 
 +Danach Apparmor und Squid neu starten.  
 + 
 + 
 +==== Mirrors definieren ==== 
 +Die Datei je nach Quellen/Wunsch anpassen. ''/etc/squid-deb-proxy/mirror-dstdomain.acl.d/10-default'' In dieser Datei werden alle weiteren Mirrors angelegt. Weiteres sind auch noch diese Dateien vorhanden, und auch schon default mit ACL's befüllt, werden aber nicht manuell verändet.  
 +<code> 
 +/etc/squid-deb-proxy/autogenerated/mirror-dstdomain.acl 
 +/etc/squid-deb-proxy/mirror-dstdomain.acl 
 +</code> 
 + 
 +<file bash 10-default
 +/etc/squid-deb-proxy/mirror-dstdomain.acl.d/10-default
  
 # network destinations that are allowed by this cache # network destinations that are allowed by this cache
  
-# default ubuntu and ubuntu country archive mirrors 
 .archive.ubuntu.com  .archive.ubuntu.com 
 ports.ubuntu.com  ports.ubuntu.com 
Zeile 56: Zeile 83:
 changelogs.ubuntu.com changelogs.ubuntu.com
  
-# additional destinations can be added to the directory: 
-#  /etc/squid-deb-proxy/mirror-dstdomain.acl.d 
-  
  
 # osit.cc # osit.cc
Zeile 75: Zeile 99:
 .debian.org .debian.org
 .proxmox.com .proxmox.com
 +.download.opensuse.org
 +.liveusb.info
 +.tuxedocomputers.com
 +.leaseweb.net
 +.ocf.berkeley.edu
 +.packages.graylog2.org
 +
 +.mirror.umd.edu
 +.mirrors.syringanetworks.net
 +.mirrors.gigenet.com
 +.mirror.web-ster.com
 +.raspbian.phirephly.design
 +.fortinet.com
 +.api.snapcraft.io
 +.signal.org
 +.cloudfront.net
 +.software-univention.de
 +.nightly.odoo.com
 +.onlyoffice.com
 +.cinelerra-gg.org
 +
 +packages.grafana.com
 +packages.microsoft.com
 +www.benno-mailarchiv.de
 +repository.spotify.com
 </file> </file>
  
 +Zum Schluss den Dienst noch neu Starten:
 +<code>
 +systemctl restart squid-deb-proxy.service
 +</code>
  
  
 +===== Umstellung von Apt-Cacher auf Squid =====
 +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.
 +<code>
 +...
 +# default to a different port than stock squid
 +http_port 3142
 +...
 +</code>
 +==== Ports auf Univention Server öffnen ====
 +Betreibt man den Proxy auf UCS muss man noch die Firewallports öffnen:
 +<code>
 +ucr set  security/packetfilter/tcp/3142/all=ACCEPT
 +service univention-firewall restart
 +</code>
 +
 +===== Clientanbindung =====
 +Statisch per:
 +<code>
 +echo 'Acquire::http { Proxy "http://hostname.local:3142"; };' | sudo tee /etc/apt/apt.conf.d/01proxy
 +</code>
 +Automatische Anbindung per Multicast (Avahi):
 +<code>
 +apt install squid-deb-proxy-client -y
 +</code>
 +Diese Methode ist natürlich für Mobile Geräte optimal und funktioniert wunderbar.