Netzwerk-Konfiguration

Der opsi-Server unterstützt beide Protokolle, IPv4 und IPv6.

In der Regel ist für den Server eine Dual-Stack-Konfiguration vorhanden, er verwendet also IPv4- und IPv6-Adressen/-Routen parallel im Netzwerk. Das ermöglicht die Kommunikation zwischen Geräten und Diensten, die sowohl IPv4- als auch IPv6-fähig sind.

Verwendete Protokolle und Ports

Der opsi-Server benötigt Internetzugriff über HTTP und HTTPS, vor allem für den Zugriff auf Paket-Repositorys der zugrundeliegenden Linux-Distribution (z. B. https://download.opensuse.org/) und die opsi-Pakete (https://opsipackages.43.opsi.org/), aber auch für den Zugriff auf Grafana-Addons usw.

Falls Sie einen Proxyserver verwenden, lesen Sie auch den Abschnitt Proxy-Einstellungen.

Der opsi-Server und seine Dienste verwenden darüber hinaus diese Netzwerk-Protokolle und -Ports:

  • 53/tcp+udp: DNS-Abfragen

  • 4447/tcp: für den Zugriff des opsi-Configservers auf die opsi-Paketquellen des Depotservers

  • 445/tcp bzw. 22/tcp: Für den Einsatz des opsi-deploy-client-agent kommen unterschiedliche Protokolle und Ports zum Einsatz; diese hängen vom Betriebssystem des Clients ab. Windows-Clients benötigen Zugriff per CIFS-Protokoll (445/tcp), Linux- und macOS-Clients Zugriff auf SSH (22/tcp).

  • 4441/tcp: Je nach HostControl-Konfiguration (siehe Abschnitt HostControl) spricht der opsi-Server den Client-Agent über 4441/tcp an.

  • 4447/tcp: Standardport für den zentralen opsi-Service opsiconfd (siehe Kapitel Der Dienst opsiconfd); alle Clients, Depotserver und Admin-Geräte benötigen Zugriff auf diesen Port.

  • 445/tcp: für den Zugriff auf den opsi-Depotserver per Samba/CIFS (siehe Kapitel Samba); nicht erforderlich, falls per WebDAV auf den Depotserver zugegriffen wird

Für den Einsatz von Netboot über TFTP ist der Zugriff auf weitere Ports nötig (siehe Kapitel TFTP-Server). Um den opsi-Server per SSH erreichen zu können, muss der Zugriff auf 22/tcp (eingehend) möglich sein.

Proxy-Einstellungen

Wenn der Zugriff über einen HTTP-Proxy erfolgen soll, konfigurieren Sie die Proxy-Einstellungen systemweit über Umgebungsvariablen. Diese Umgebungsvariablen tragen Sie in die Datei /etc/environment ein.

Beachten Sie, dass die Namen der Umgebungsvariablen ausschließlich aus Kleinbuchstaben bestehen.
  • http_proxy: Konfiguriert den Proxy für HTTP-Verbindungen, setzt eine vollständige URL voraus (nicht nur Hostname und Port); falls Authentifizierung erforderlich ist, kann diese in der URL definiert werden:
    http_proxy=http://<user>:<password>@<proxy-address>:<port>

  • https_proxy: wie http_proxy, nur für HTTPS-Verbindungen:
    https_proxy=https://<proxy-address>:<port>

  • no_proxy: definiert, für welche Adressen kein Proxy verwendet werden soll; mehrere Adressen werden durch Kommata getrennt:
    no_proxy=127.0.0.1,localhost,mydomain.example,hostname.domain.com:8080
    Für die Adressen gelten die folgenden Regeln:

    • Verwenden Sie nur Kleinbuchstaben.

    • Notieren Sie nur IP-Adressen, wenn auch der Zugriff direkt auf die IP-Adresse erfolgt. Bei der Auswertung der Ausnahmen findet keine Namensauflösung statt.

    • IP-Adressbereiche (CIDR-Matching, wie z. B. 192.168.0.0/24) sind nicht zulässig.

    • Sie müssen auch für lokale Adressen (localhost) und Loopback-Adressen (127.0.0.1) Ausnahmen definieren.

    • Wildcards und reguläre Ausdrücke sind nicht erlaubt.

    • Jeder Name wird als Suffix ausgewertet, domain.com definiert daher eine Ausnahme für alle Hostnamen die auf domain.com enden.

    • Sie können für jede Adresse optional einen Port hinter einem Doppelpunkt angeben, für den die Ausnahme gilt.

Beispiel für die Datei /etc/environment:

http_proxy=http://10.1.1.1:8080
https_proxy=https://10.1.1.1:8080
no_proxy=127.0.0.1,localhost,company.tld

Übernehmen Sie die Änderungen in die laufende Shell, indem Sie die folgenden Befehle ausführen:

set -a; source /etc/environment; set +a
Bei Suse-Distributionen passen Sie den Parameter NO_PROXY in der Datei /etc/sysconfig/proxy an. Tragen Sie dazu NO_PROXY=127.0.0.1,localhost,company.tld ein.

Erfolgt der opsiconfd-Zugriff über einen Proxy, erfolgen die Anfragen an den Dienst von der IP-Adresse des Proxys aus. Alle Funktionen, die mit der IP-Adresse des Clients arbeiten, wie zum Beispiel networks, admin-networks, update-ip oder max-session-per-ip, funktionieren dann nicht richtig. Die Adressen von vertrauenswürdigen Proxys können Sie über den Parameter trusted-proxies definieren. Stammt die Verbindung von einem vertrauenswürdigen Proxy, wertet der Server den X-Forwarded-For-Header aus, um die ursprüngliche Client-Adresse zu erhalten.

Beispiel:

admin-networks=[192.168.10.0/24]
trusted-proxies=[192.178.16.27]