Synology DS | Ausführen von WSUS Offline Update unter Docker

Auf dem Windows Small Business Essentials war bei mir immer der WSUS zur Aktualisierung der Server und Clients installiert. Das hat immer ganz gut funktioniert und ja ich gebe zu, es gab hier auf meinem Blog den einen oder anderen Artikel, der sich nicht immer positiv gegenüber dem WSUS gezeigt hat. Aber, letztendlich habe auch immer versucht eine Lösung zu meinem WSUS-Problem zu liefern.

Wird im Netzwerk, als Datenspeicher nur ein NAS, wie zum Beispiel eine Synology Diskstation (DS) verwendet, fehlt erst einmal die Möglichkeit einen WSUS zu betreiben und damit auch das zentrale Update der Server und Clients.
Schon seit langer Zeit habe ich zusätzlich zum WSUS für die Server gerne das WSUS Offline Update verwendet, welches wiederum als Community Edition (CE) auf GitLab verfügbar ist. Darüber hinaus existiert auf GitHub ein Docker Image, mit dem wiederum WSUS Offline Update in einem Docker Container ausgeführt werden kann.

Wie man so etwas angeht, soll dieser Beitrag beschreiben.

Voraussetzungen

  • Synology Disk Station mit der Unterstützung von Docker als Container Host
  • Das aus dem Synology Paket Zentrum installierte Docker-Paket

    image

  • Auf der Diskstation muss nun noch eine Freigabe erstellt werden, mit den folgenden Rechten und Eigenschaften

    image

    Ob man die Freigabe in der Netzwerkumgebung verstecken will oder nicht ist Geschmackssache, ich blende den Ordner immer aus, wenn die Installation der Updates exklusiv durch einen Admin oder automatisiert erfolgt und damit die Benutzer ihn nicht sehen sollen.
    Wird hingegen die Installation der Updates den Benutzern überlassen, dann sollte der Ordner eingeblendet werden.
    Darüber hinaus aktiviere ich die folgenden beiden Erweiterte Einstellungen

    image

    Dazu gebe ich der lokalen Gruppe users das Leserecht (Schreibgeschützt) und den Domain-Users ebenfalls.

    image

    Die Admins (lokal und Domain-Admins) haben ja per Default Lesen/Schreiben als Zugriffsrecht gesetzt.
    Dieser Ordner, also wsusoffline wird später in den Docker Container abgebildet.

Installation des Docker-Images

Nach der Installation von Docker, wird dieser gestartet, um das Image aus der Docker Registry herunterzuladen.

Dazu einfach ins Suchfeld R0gger (das ist der Entwickler des Images, 0 = Null) eingeben und Download klicken.

image

Wichtig ist hier die Auswahl der Community Edition (ce) um die aktuellste Version zu erhalten.

image

Die CE mit Auswählen bestätigen und der Download startet. Unter Image erscheint danach die 1, was den Download von einem Image signalisiert der nach ca. 250MB abgeschlossen ist.image

Konfiguration des Docker-Images

Durch einen Klick auf Starten wird das Docker-Image gestartet und dazu der Dialog zur Konfiguration aufgerufen.

Als Netzwerk verwenden wir die bridge und klicken auf Weiter.

image

Neben einem Automatischen Neustart, sind die Erweiterte Einstellungen interessant.

image

In den erweiterten Einstellungen werden die Laufzeit-Variablen für den Container festgelegt, Änderungen führe ich hier nur an den folgenden Variablen durch:

  • SYSTEM = w100-x64, w63-x64
  • OFFICE – löschen der Variabel, einfach aus dem Grund da alle meine Clients auf Microsoft365 laufen und die Updates aus der Cloud bekommen. Den Speicherplatz spare ich mir damit

image

Mit Speichern und Weiter, geht es dann weiter, wobei wir die Port-Einstellungen zu belassen wie sie sind und nur die Volume-Einstellungen konfigurieren müssen. Dort wird der Inhalt des Docker-Containers in die oben erstellte Freigabe wsusoffline gemounted.

image

  • wsusoffline = /wsus/wsusoffline

Mit dem Klick auf Weiter sind wir fertig und können den Container im Anschluss ausführen.

image

Running the Docker-Image

Damit kommen wir zum spannenden Teil, woher wissen wir eigentlich genau, ob wir alles richtig gemacht haben?

Läuft der Container, dann bietet uns die Option Details einen umfassenden Einblick was im Container vor sich geht.

image

Dort sind unter anderem der Ressourcen-Verbrauch, dass Mapping des Update-Ordners (wsusoffline) und die Laufzeitvariablen zu sehen.

image

Zwei weitere Punkte will ich hier nicht unerwähnt lassen. Zum einen habe ich mich schwergetan herauszufinden, wie den der Pfad lautet auf den der wsusoffline-Ordner gemapped werden soll?

Diesen habe ich in einer Terminal-Session ermittelt, dazu einfach unter Terminal eine Sitzung mit der Bash öffnen und nach dem Verzeichnis wsus im Root suchen.

image

Dort, also unter /wsus/wsusoffline werden die Updates gespeichert und dieser Ordner wiederum auf den wsusoffline-Ordner des NAS abgebildet, um den Zugriff über SMB zu ermöglichen.

Zuletzt habe ich noch mit einer Fehlermeldung gekämpft, und hierzu ein Paket (JSON-Processor) nachinstallieren müssen. Das geht ebenfalls in der Terminal-Session über die beiden folgenden Befehle.

# Installation des Pakets für die JSON-Interpretation
apt-get update
apt-get install jq

So, damit bin ich erstmal fertig und habe einen weiteren Schritt für eine alternative zum SBE beschrieben.

Enjoy it, b!