Hallo,
Ich benötige Hilfe bei folgendem Problem. Mehrere Clients befinden sich mit einem Server in einem lokalen Netzwerk. Alle Systeme haben Internetzugriff und alle laufen mit Debian Buster. Die Clients sollen bei Updates nicht alle einzeln Ihre Pakete abholen, sondern diese vom Server abrufen.
Ich habe apt-cacher-ng aufgesetzt. Der Proxy wurde in /etc/apt/apt.conf.d/99proxy eingetragen:
Acquire::http { Proxy "http://A.B.C.D:3142"; };
Die Einträge bei den Clients sehen so aus:
deb http://deb.debian.org/debian/ buster main contrin non-free deb http://deb.debian.org/debian-security/ buster main contrin non-free
apt-cacher-ng ist so eingestellt, dass alle Anfragen an
umgeleitet werden.
Außerhalb des Netzwerks werden die Pakete also über HTTPS, innerhalb des Netzwerks über HTTP transportiert. Der Netzwerkbetreiber möchte aber auch gerne innerhalb des lokalen Netzwerks die Pakete über eine verschlüsselte Verbindung transportieren.
Das kann apt-cacher-ng aber nur mit der gesetzten PassThroughPattern-Option, womit der zentrale Aspekt des Cachings wegfällt. Die Alternative wäre, einen kompletten Spiegel des Debian-Archives (mehrere Dutzend GB) vorzuhalten (z.B. apt-mirror, aptly) und via HTTPS den Clients anzubieten. Das finde ich aber mit Kanonen auf Spatzen geschossen.
Jetzt fand ich in https://binfalse.de/2019/05/13/apt-cacher-ng-vs-apt-transport-https/ folgende Aussage:
[..] There is apparently no support for TLS in apt-cacher-ng, but you can still configure an Nginx proxy (or what ever proxy you find handy) at the cache server, which supports TLS and just forwards requests to the upstream apt- cacher-ng at the same machine. [..]
Das würde ich gerne ausprobieren, habe mit nginx aber noch nicht gearbeitet. Die Masse der Dokumentation dreht sich auch nur um die Nutzung von Nginx als Reverse Proxy. Ich habe nur wenige Artikel gefunden, die sich mit dem Thema Forward Proxy beschäftigen. Hat das vielleicht schon einmal jemand gemacht, oder ist mit Nginx so vertraut, mit helfen zu können?
Gruß, Daniel
Hallo,
On Tue, Mar 02, 2021 at 11:16:59PM +0100, Daniel Leidert wrote:
Der Netzwerkbetreiber möchte aber auch gerne innerhalb des lokalen Netzwerks die Pakete über eine verschlüsselte Verbindung transportieren.
Ja gut... ich weiss Kunde ist König und so... aber das ist doch hochgradig albern.. IMHO.
könnte man vll. einfach https://www.stunnel.org/ vor apt-cacher-ng schrauben?
Grüsse Andreas
Am Dienstag, dem 02.03.2021 um 23:32 +0100 schrieb Andreas Fett:
Hallo,
On Tue, Mar 02, 2021 at 11:16:59PM +0100, Daniel Leidert wrote:
Der Netzwerkbetreiber möchte aber auch gerne innerhalb des lokalen Netzwerks die Pakete über eine verschlüsselte Verbindung transportieren.
Ja gut... ich weiss Kunde ist König und so... aber das ist doch hochgradig albern.. IMHO.
könnte man vll. einfach https://www.stunnel.org/%C2%A0vor apt-cacher-ng schrauben?
Danke für den Hinweis. Ich glaube, ich habe es mit stunnel geschafft. Läuft zumindest. Ich poste morgen bei Gelegenheit mal die Configs.
Gruß, Daniel
Am Mittwoch, dem 03.03.2021 um 05:04 +0100 schrieb Daniel Leidert:
Am Dienstag, dem 02.03.2021 um 23:32 +0100 schrieb Andreas Fett:
Hallo,
On Tue, Mar 02, 2021 at 11:16:59PM +0100, Daniel Leidert wrote:
Der Netzwerkbetreiber möchte aber auch gerne innerhalb des lokalen Netzwerks die Pakete über eine verschlüsselte Verbindung transportieren.
Ja gut... ich weiss Kunde ist König und so... aber das ist doch hochgradig albern.. IMHO.
könnte man vll. einfach https://www.stunnel.org/%C2%A0vor apt-cacher-ng schrauben?
Danke für den Hinweis. Ich glaube, ich habe es mit stunnel geschafft. Läuft zumindest. Ich poste morgen bei Gelegenheit mal die Configs.
Server: apt-cacher-ng.conf
client = no
[apt-cacher-ng] accept = 192.168.SERVER.IP:3143 connect = 127.0.0.1:3142 cert = /etc/stunnel/stunnel.pem
Client: apt-cacher-ng.conf
client = yes
[apt-cacher-ng] cert = /etc/stunnel/stunnel.pem accept = 3143 connect = 192.168.SERVER.IP:3143
Client: apt.conf.d/proxy
Acquire::http::Proxy "http://127.0.0.1:3143";
Ich musste in Debian zusätzlich ein paar der Standardwerte für die stunnel Config anpassen, da die Werte in den Beispielen von anderen Standards ausgehen. Damit funktioniert es:
setuid = stunnel4 setgid = stunnel4 pid = /var/run/stunnel4/stunnel.pid output = /var/log/stunnel4/stunnel.log
Scheint zu laufen.
Gruß, Daniel
lug-dd@mailman.schlittermann.de