Puppet-Einstellungen zur automatischen Proxy-Konfiguration (WPAD)

Zuletzt geändert von Jonas Mayer am 2023/10/14 21:30

WPAD macht es möglich, dass der LD-Server den Clients im pädagogischen Netzwerk automatisch eine dynamische Web-Proxy Konfiguration mitteilt. Dies funktioniert sowohl an festen Clients als auch an privaten Geräten der Benutzer (BYOD).
Über die WPAD-Konfigurationsdatei entscheiden alle gängigen Browser, ob und über welchen Proxy-Server die Verbindung zur Zieladresse hergestellt werden muss. Hierzu bietet LogoDIDACT seit Puppet-Version 1.4.x einige Einstellmöglichkeiten, die nachfolgend beschrieben werden.

 

Alle Konfigurationen finden in der YAML-Datei /etc/logodidact/hiera/custom.d/ldhost.yaml im Puppeteer statt.

lxc-ssh -n puppeteer
vim /etc/logodidact/hiera/custom.d/ldhost.yaml

Darin können seit Puppet-Version 1.4 folgende drei Einstellungen konfiguriert werden:

  1. Use Proxy
  2. Direct Domains
  3. Use NoProxySites
  4. Direct Clients
Use Proxy
ld_legacy::wpad::use_proxy: true/false     #Default = true

Hier wird festgelegt, ob der Server generell als WebProxy verwendet werden soll. Mit den Parametern true/false wird das entsprechend festgelegt.

Direct Domains
ld_legacy::wpad::direct_domains:
  - "www.beispiel.de"
  - "www.beispiel.com"

Mit dem Parameter Direct Domains kann festgelegt werden, welche Seiten explizit ohne Proxy vom Client aus angesteuert werden sollen. Bei Eintragung in die YAML-Datei ist es wichtig, sich am Beispiel zu orientieren, falls mehrere Zieladressen als Proxy-Ausnahme definiert werden sollen. Auch auf die Einrückung muss pro Zeile geachtet werden (diese muss  identisch zum restlichen Inhalt der Datei gewählt werden, z.B. 2 Leerzeichen). Der Vorteil dieser Variante ist, dass Einträge über das Kommando git commit wie sonstige Optionen im Puppeteer eingespeichert werden müssen und dadurch in der git log Historie des Verzeichnisses /etc/logodidact/ nachvollziehbar bleiben.

Use NoProxySites
ld_legacy::wpad::use_no_proxy_sites: true/false     #Default = false

Bei Aktivierung wird der Proxy für ausgewählte Zieladressen am Client ausgelassen. Diese Einstellung ähnelt dem vorherigem Parameter, die Liste der Proxy-Ausnahmen wird in diesem Falle jedoch ergänzend aus der Datei /etc/logodidact/Internet.conf im Container logosrv geladen. Die Liste setzt sich dynamisch aus dem Parameter "NoProxySites" und den darin befindlichen Einträgen zusammen, so wie in der internet.conf definiert. Statt eine solche Liste direkt im Puppeter zu pflegen, wird in dieser Variante also am Git-System im Puppeteer vorbei gearbeitet.
 

Direct Clients
ld_legacy::wpad::direct_clients:
  - 10.16.214.1/255.255.255.255

Hier ist ein ähnliches Verhalten, wie beim Abschnitt "Direct Domains". Anstatt eine Domain, wird die IP eines Client hinterlegt, welcher den Proxy umgeht. Bei Eintragung in die YAML-Datei ist es wichtig, sich am Beispiel zu orientieren. Wie zu erkennen ist, muss die Ausnahme inkl. Netzmaske definiert werden. Dies ist zwingend zu beachten, da sonst die Anpassung nicht greift. 

Sollten die Einstellungen vorgenommen oder später geändert worden sein, muss im ldhost noch ein prun zur Aktivierung ausgeführt werden.

prun