Clients zu opsi hinzufügen

Damit Rechner mit opsi verwaltet werden können, müssen Sie dem System bekannt sein. Außerdem muss auf diesen Rechnern ein Agent laufen, damit eine Kommunikation zwischen Server und Client möglich ist. Ohne diesen Agent ist keine Verwaltung möglich.

Je nachdem in welcher Umgebung opsi eingesetzt werden soll, gibt es unterschiedliche Vorgehensweisen. Existieren in der Umgebung bereits Clients mit installiertem Betriebssystem, die ab sofort mit opsi verwaltet werden sollen, so können diese auf unterschiedlichen Wegen integriert werden.

Die Alternative hierzu ist, dass die zu verwalteten Rechner von opsi aus mit einem neuen Betriebssystem ausgestattet werden. Im Rahmen dieser Betriebssysteminstallation wird von opsi der benötigte Agent gleich mitinstalliert, allerdings wird dabei alle eventuell vorher vorhandene Software (inkl. Betriebssystem) entfernt. Bei diesem Vorgehen fügen Sie zuerst einen Client zu opsi hinzu und führen anschließend eine Betriebssysteminstallation durch.

Anlegen eines neuen opsi-Clients

Zur Verwaltung von Rechnern müssen diese dem opsi-Server bekannt sein. Dieses Kapitel beschreibt unterschiedliche Möglichkeiten einen Client in opsi für eine spätere Verwaltung anzulegen. Dies ist besonders dann hilfreich, wenn anschließend auf dem Rechner mittels opsi ein Betriebssystem installiert werden soll.

Für die Aufnahme von Clients mit bereits installiertem Betriebssystem lesen Sie bitte das Kapitel zur Integration vorhandener Clients.

Anlegen eines neuen opsi-Clients über die grafische Management-Oberfläche

Den Client können Sie mit der grafischen Oberfläche opsi-configed zum opsi-Server hinzufügen.

Wählen Sie den Menü-Punkt OpsiClient / Neuen opsi-Client erstellen und geben Sie ein:

  • Client-Name

  • DNS Domäne (falls abweichend von der Vorgabe)

  • Beschreibung

  • IP-Adresse (wird benötigt, falls kein DNS zur Namensauflösung für diesen Client verwendet werden kann)

  • MAC-Adresse (wird benötigt, falls der opsi-Server DHCP-Server ist oder PXE boot mit dem Client durchgeführt werden soll).

Nach Eingabeabschluss wird der Client dem opsi-Server bekanntgemacht und gleichzeitig, falls der opsi-Server DHCP Server ist, in der DHCP-Konfiguration als PXE-Client angelegt.

Die Liste der eingerichteten opsi-Clients kann jederzeit im opsi-configed Modus Client-Konfiguration unter dem Reiter Client-Auswahl eingesehen werden.

Anlegen eines neuen opsi-Clients über die Kommandozeile

Ein Client kann auf der Kommandozeile per opsi-admin erzeugt werden.

Die Syntax ist die folgende:

opsi-admin -d method host_createOpsiClient <client-id> [opsiHostKey] [description] [notes] [hardwareAddress] [ipAddress] [inventoryNumber] [oneTimePassword] [created] [lastSeen]

Fehlende Werte verwenden in der Regel einen Standardwert - die meisten Felder sind dann leer.

Der folgende Befehl wird den Client testclient.domain.local mit einem zufälligen Host Schlüssel, der Beschreibung Testclient, keinen Notizen, der MAC-Addresse 00:0c:29:12:34:56 und der IP-Adresse 192.0.2.1 anlegen:

opsi-admin -d method host_createOpsiClient testclient.domain.local "null" "Testclient" "" 00:0c:29:12:34:56 192.0.2.1

Anlegen eines neuen opsi-Clients mithilfe der opsi-client-bootcd

Auf der Downloadseite von uib finden Sie unter https://download.uib.de/opsi4.2/boot-cd/ verschiedene ISO-Abbilder der 'opsi-client-boot-cd'. Laden Sie sich das Neueste herunter und brennen es auf eine CD.

Starten Sie den Rechner von der CD. Sie sollten dann folgendes Bild sehen:

Screenshot: Startbild opsi-client-boot-cd
Abbildung 1. Startbild opsi-client-boot-cd

Wählen Sie Opsi starten. Nach einer Weile wird folgender Bildschirm erscheinen. Wenn Ihr DHCP-Server IP-Adressen an unbekannte Rechner vergibt ist die Maske schon weitgehend ausgefüllt. Ansonsten müssen Sie es von Hand tun. In der Regel müssen Sie mindestens den Hostnamen vergeben.

Screenshot: bootimage/boot-cd Konfigurationsmaske
Abbildung 2. bootimage/boot-cd Konfigurationsmakse

Wählen Sie dann OK.

Screenshot: bootimage/boot-cd Auswahl Erstellungsmethode
Abbildung 3. bootimage/boot-cd Auswahl Erstellungsmethode

Wählen Sie dann Admin account. Sie erklären damit, dass der Client sich selbst beim opsi-Server anmelden und erstellen soll. Dieser Vorgang muss natürlich autorisiert werden.

Screenshot: bootimage/boot-cd Authentifizierungsmaske
Abbildung 4. bootimage/boot-cd Authentifizierungsmaske

Sie erhalten daher eine Loginmaske, bei der Sie sich als ein Mitglied der Gruppe opsiadmin-Gruppe authentifizieren müssen. Wenn dies Erfolgreich war, so teilt der Client dem Server seine Daten mit und der Client wird auf der Serverseite automatisch erstellt. Als nächstes fragt der Client die Liste der verfügbaren netboot Produkte ab und stellt Sie Ihnen zur Auswahl zur Verfügung.

Screenshot: bootimage/boot-cd netboot Produktauswahl
Abbildung 5. bootimage/boot-cd netboot Produktauswahl

Sie können jetzt direkt das zu installierende Betriebssystem (oder z.B. hwinvent) auswählen.

Integration vorhandener Clients in opsi

Um vorhandene Clients in opsi aufzunehmen, muss auf diesen der opsi-client-agent (bzw opsi-linux-client-agent oder opsi-mac-client-agent) installiert werden. Dies kann auf mehrere Arten durchgeführt werden. Nachdem Sie, wie im Folgenden beschrieben, den opsi-client-agent installiert haben, erscheint der Client auch in der Client-Liste des opsi-configed, sofern Sie ihn dort noch nicht hinzugefügt hatten.

Grundsätzlich gibt es die Möglichkeit die Installation des Agents auf dem Client auszuführen oder vom Server aus die Installation anzustoßen.

Das Ausführen der Installation direkt auf dem Client eignet sich für einzelne Rechner. Für einen Massen-Rollout des Agents eignet sich opsi-deploy-client-agent. Falls bereits eine andere Möglichkeit existiert Software zu verteilen, so bietet es sich an, den initialen Rollout über den opsi-client-agent-installer oder das opsi-client-agent MSI-Paket durchzuführen.

Sobald der Agent installiert ist, können vorhandene opsi-Produkte auf diesen Clients installiert werden.

Verwendung des Installers

  1. Loggen Sie sich mit auf dem Client ein.

  2. Laden Sie den Installer von ihrem configserver herunter. Der Installer liegt unter https://<fqdn_oder_ip_des_configservers>:4447/public/opsi-client-agent/ und hat den Dateinamen opsi-client-agent-installer.exe (bzw opsi-linux-client-agent-installer.run oder opsi-mac-client-agent-installer.command)

  3. Führen Sie den Installer aus (bei linux und macOS sind dabei root-Rechte erforderlich, also ggfs mit sudo - bei windows folgt später ggfs eine UAC Anfrage)

  4. Der Installer entpackt sich dann in ein temporäres lokales Verzeichnis und startet den enthaltenen oca-installation-helper. Dieser zeigt ein Nutzer-Interface mit Eingabefeldern für Client-ID, Opsi Service URL, Username und Password. Soweit möglich sind diese Felder vorausgefüllt, müssen aber gegebenenfalls noch manuell ergänzt oder angepasst werden.

  5. Die Client-ID entspricht in der Regel dem FQDN des Clients. Die opsi Service URL sollte das Format https://<fqdn_oder_ip_des_configservers>:4447 haben. Username und Passwort sollten im Fall einer Erstinstallation des clients von einem Mitglied der Gruppe opsiadmin sein. Für eine Reinstallation kann hier auch die Client-Id und der pckey verwendet werden.

  6. Der Installer nimmt per opsi-Webservice Kontakt zum Server auf, um den Client beim Server zu registrieren. Anschließend wird das im Installer enthaltene opsi-script aufgerufen um das setup.opsiscript des opsi-[linux-|mac-]client-agents auszuführen.

Beim Aufruf des Installers können Parameter mitgegeben werden, welche eine Voll-Automatisierung des Vorgangs ermöglichen. Details dazu finden Sie im opsi-Handbuch .

Verwendung von opsi-deploy-client-agent

Das opsi-deploy-client-agent Programm verteilt den opsi-client-agent (bzw opsi-linux-client-agent oder opsi-mac-client-agent) direkt vom opsi-Server auf die Clients. Es ist hiermit einfach möglich eine große Menge an Clients vom Server aus in eine opsi-Umgebung zu integrieren.

Voraussetzungen für Windows-Clients:

  • ein offener c$ share

  • ein offener admin$ share

  • ein administrativer account

  • laufende Dienste RpcSs und RpcEptMapper (standardmäßig aktiv ab win8)

  • Firewall, die "Datei-und-Druckerfreigabe" und "Windows-Verwaltungsinstrumentalisierung (WMI)" zulässt

  • der Registry-Schlüssel HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\LocalAccountTokenFilterPolicy sollte den Wert 1 haben

Voraussetzungen für Linux- und MacOS-Clients:

  • ssh-Zugang mit einem user, der "sudo" ausführen darf oder selbst root ist.

Das opsi-deploy-client-agent Programm findet sich unter /var/lib/opsi/depot/opsi-client-agent (analog opsi-linux-client-agent, opsi-mac-client-agent)
Führen Sie das Programm mit 'root' Rechten aus oder als ein user, der Teil der Gruppe "opsifileadmins" ist.

Das Program erzeugt serverseitig den Client, kopiert die Installations-Dateien und Konfigurationsinformationen, wie bspw. den pckey, auf den Client und startet dort die Installation über den oca-installation-helper (nicht-interaktiv).

Mit dem opsi-deploy-client-agent kann auch eine ganze Liste von Clients bearbeitet werden. Dazu können entweder beliebig viele Clients als letzter Parameter übergeben werden oder mit der Option '-f' die Clients aus einer Datei eingelesen werden. Bei der Verwendung einer Datei, muss in jeder Zeile ein Client stehen.

Das Program kann mit IP-Adressen, Hostnamen und FQDNs arbeiten. Es wird versuchen automatisch zu erkennen welche Art von Adresse übergeben wurde.

Mögliche Parameter können Sie mit dem Parameter --help in Erfahrung bringen:

usage: opsi-deploy-client-agent [-h] [--version] [--verbose] [--debug-file DEBUG_FILE] [--username USERNAME]
                                [--password PASSWORD] [--use-fqdn | --use-hostname | --use-ip-address]
                                [--ignore-failed-ping]
                                [--reboot | --shutdown | --start-opsiclientd | --no-start-opsiclientd]
                                [--hosts-from-file HOST_FILE] [--skip-existing-clients] [--threads MAX_THREADS]
                                [--install-timeout INSTALL_TIMEOUT] [--depot DEPOT] [--group GROUP] [--smbclient | --mount]
                                [--keep-client-on-failure | --remove-client-on-failure]
                                [--failed-clients-file FAILED_CLIENTS_FILE]
                                [host [host ...]]

Deploy opsi client agent to the specified clients. The c$ and admin$ must be accessible on every client. Simple File Sharing
(Folder Options) should be disabled on the Windows machine.

positional arguments:
  host                  The hosts to deploy the opsi-client-agent to.

optional arguments:
  -h, --help            show this help message and exit
  --version, -V         show program's version number and exit
  --verbose, -v         increase verbosity (can be used multiple times)
  --debug-file DEBUG_FILE
                        Write debug output to given file.
  --username USERNAME, -u USERNAME
                        username for authentication (default: Administrator).Example for a domain account: -u
                        <DOMAIN>\\<username>
  --password PASSWORD, -p PASSWORD
                        password for authentication
  --use-fqdn, -c        Use FQDN to connect to client.
  --use-hostname        Use hostname to connect to client.
  --use-ip-address      Use IP address to connect to client.
  --ignore-failed-ping, -x
                        try installation even if ping fails
  --reboot, -r          reboot computer after installation
  --shutdown, -s        shutdown computer after installation
  --start-opsiclientd, -o
                        Start opsiclientd service after installation without performing Events (default).
  --no-start-opsiclientd
                        Do not start opsiclientd service after installation (deprecated).
  --hosts-from-file HOST_FILE, -f HOST_FILE
                        File containing addresses of hosts (one per line). If there is a space followed by text after the
                        address this will be used as client description for new clients.
  --skip-existing-clients, -S
                        skip known opsi clients
  --threads MAX_THREADS, -t MAX_THREADS
                        number of concurrent deployment threads
  --install-timeout INSTALL_TIMEOUT
                        timeout for single threads (default is unlimited)
  --depot DEPOT         Assign new clients to the given depot.
  --group GROUP         Assign fresh clients to an already existing group.
  --smbclient           Mount the client's C$-share via smbclient.
  --mount               Mount the client's C$-share via normal mount on the server for copying the files.This imitates the
                        behaviour of the 'old' script.
  --keep-client-on-failure
                        If the client was created in opsi through this script it will not be removed in case of failure.
                        (DEFAULT)
  --remove-client-on-failure
                        If the client was created in opsi through this script it will be removed in case of failure.
  --failed-clients-file FAILED_CLIENTS_FILE
                        filename to store list of failed clients in