Puppet-Einstellungen zur automatischen Proxy-Konfiguration (WPAD)

Version 14.1 von Jonas Mayer am 2022/05/25 07:49

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
Use Proxy
ld_legacy::wpad::use_proxy: true/false

Hier wird festgelegt, ob der Server generell als Proxy 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 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

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.
 

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

prun